В Homebrew 5.0.4 появилась поддержка Flatpack, что делает пакетный менеджер практически универсальным установщиком инструментов. Теперь один файл Brewfile можно использовать для автоматической настройки окружения на macOS, Linux и в WSL.

В версии 5.0.4 в один сценарий установки можно включить пакеты Homebrew, приложения из Cask, из Mac App Store, расширения для Visual Studio Code, пакеты для Go и Flatpack-приложения с их репозиториями. Вот так это выглядит в едином Brewfile:
tap "apple/apple" brew "apple/apple/game-porting-toolkit" brew "postgresql@16", restart_service: true cask "firefox" mas "Refined GitHub", id: 1519867270 vscode "editorconfig.editorconfig" go "github.com/charmbracelet/crush" flatpak "com.visualstudio.code" flatpak "org.godotengine.Godot", remote: "flathub-beta", url: "https://dl.flathub.org/beta-repo/" flatpak "io.github.dvlv.boxbuddyrs", remote: "flathub-beta"
При запуске результат работы файла будет таким:
$ brew bundle Using apple/apple Using apple/apple/game-porting-toolkit Using postgresql@16 Using firefox Using Refined GitHub Using editorconfig.editorconfig Using github.com/charmbracelet/crush `brew bundle` complete! 7 Brewfile dependencies now installed.
В перспективе это позволяет создавать универсальные Brewfile для установки софта на macOS, Linux и WSL. Вместо трёх отдельных сценариев — один декларативный файл со списком нужных пакетов, который сработает на разных системах и установит всё необходимое. Пользователи Linux, в свою очередь, могут перейти на Homebrew, чтобы не писать и поддерживать bash-скрипты.
Также важно отметить, что в Homebrew всё ещё нет поддержки Snap. В 2019 году разработчики обсуждали реализацию, но пока интеграции нет.
