Как быстро установить много приложений в macOS

Как же я люблю «запах» свежеустановленной macOS, но так же я не люблю переустанавливать установленные приложения.

Но есть способ быстро установить пачку приложений без всех этих «скачать, открыть образ приложения, перетащить его в Приложения, закрыть образ».

Есть такой менеджер пакетов Homebrew с помощью которого можно установить разных консольных утилит, но он есть основа для еще более крутого расширения Homebrew Cask.

Cask — это способ описать порядок действий для установки приложения, например Google Chrome или плеер IINA.

Обычно, чтобы установить Google Chrome нужно зайти на сайт, скачать установочный образ, открыть его, перетянуть иконку в папку Приложения, подождать пока Chome скопируется, а потом все это закрыть. Долго и нудно.

Используя Homebrew достаточно в Терминале ввести:

brew cask install google-chrome

Дождаться окончания выполнения команды и пользоваться установленным Chrome.

Так же легко Chrome можно удалить:

brew cask uninstall google-chrome

И эта команда не просто удалит Chrome из папки Приложения, но и удалит «хвосты» (кеши, временные файлы и т.п.)

А как же поставить сразу много приложений? Все просто, для этого есть Homebrew Bundle.

Но давайте по-порядку, для начала установил Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

После, устанавливаем Homebrew Cask:

brew cask

После, устанавливаем Homebrew Bundle:

brew bundle

Ну вот и подошли к самому интересному моменту — подготовки к установке большого количества приложений практически одной командой, но перед этим запустим TextEdit и в меню Формат выберем Конвертировать в простой текст. Выбираем Файл - Сохранить и в поле Сохранить как набираем Brewfile, убираем птичку Если не указано расширение, использовать .txt и кликаем на Сохранить.

Вот в этом файле и нужно перечислить весь тот софт, который нужно установить «пачкой».

В первую очередь я определяю в качестве падки для устанавливаемых приложений папку Applications, которая расположена в моем домашнем каталоге. Ноутбук я использую совместно с супругой и мне бы не хотелось, чтобы мой софт отражался в ее дашборде.

cask_args appdir: "~/Applications"

Перечислим несколько консольных утилит:

brew "midnight-commander"

Дальше пишем список основных приложений:

cask "google-chrome"
cask "iina"
cask "transmission"

И если нужно что-то устанавливать из App Store:

brew "mas"
mas "The Unarchiver", id: 12345678

К этому момент возникает резонный вопрос: «Откуда брать корректные названия пакетов, и в случае с MAS, id приложения?»

Как и любая уважающая себя утилита, brew можно запускать с различными аргументами, например:

brew search commander

==> Searching local taps...
midnight-commander
==> Searching taps on GitHub...
caskroom/cask/commander-one             caskroom/cask/double-commander           caskroom/cask/pg-commander
==> Searching blacklisted, migrated and deleted formulae...

В результате поиска слова commander был выдан результат для midnight-commander.

brew cask search chrome

chrome-devtools                  dmm-player-for-chrome                google-chrome
chrome-remote-desktop-host             epichrome                      mkchromecast
==> Remote Matches
caskroom/versions/google-chrome-canary       caskroom/versions/google-chrome-beta        caskroom/versions/google-chrome-dev

В результате поиска по слову chrome видим нужный нам google-chrome.

Для поиска приложений в App Store используем утилиту mas:

mas search unarchiver

425424353 The Unarchiver
717545828 iZip Unarchiver - RAR, 7Z, ZIP ... Decompressor
1071663619 UnRAR Unarchiver - Zip, Rar Extractor,Expander
1127253508 Dr. Unarchiver – RAR and Zip archive browser

В результате получаем id и название, которое нужно внести в Brewfile.

Лично для меня много приложений устанавливать не нужно: я стараюсь использовать он-лайн версии, если такие существуют.

Но мой Brewfile выглядит так:

# setup default applications dir
cask_args appdir: "~/Applications"

# brew's
brew "mas" # need for install MAS applications

# cask's
cask "google-chrome"
cask "transmission"
cask "iina"

# MAS applications
mas "The Unarchiver", id: 425424353

После того, как файл заполнен, сохраняем его, в Терминале переходим в место его расположения:

cd ~/Documents

И выполняем команду:

brew bundle

Конечно, такой способ не восстановит данные, созданные в приложениях, но если нужно быстренько развернуть привычное окружение, то способ вполне себе рабочий. В процессе Brewfile можно дополнять нужными приложениями, а его хранить где нибудь в облаке, для быстрого доступа и восстановления, в случае необходимости