はじめに
homebrew-bundleはその名の通りhomebrewのbundlerです。
Homebrew自体の解説はほぼありません。
まだ使ったことがないよ、という方は公式や解説サイトに目を通すことをおすすめします。
公式
Homebrew
https://github.com/Homebrew/brew
https://brew.sh/index_ja
Homebrew Bundle
https://github.com/Homebrew/homebrew-bundle
手順
❯ brew -v tharanoMacBook-Pro@thara[15:39:46]
Homebrew 3.5.6
STEP1
移行元・移行先にCLTを導入します。
Xcodeを利用している場合は既に導入されています。
xcode-select --install
STEP2
移行元でBrewfileを出力します。
生成先はユーザーフォルダ直下です。
--globalオプションをつけなければ現在のディレクトリ下に出力されます。
brew bundle dump --global
また、mas-cliを使うことで、App Store経由で導入したappも一括ダウンロードできるようになります。
移行元で導入していなければ、先にbrew inatall mas
してから出力させます。
STEP3
Brewfileを編集し、明らかに不要なものがあれば該当行を削除しておきます。
また、Homebrew管理外のappがあれば追記するか、別途移行先でinstallします。
さらに、tapでHomebrew公式以外のリポジトリからformulaを登録できます。
脱線するためここでは扱いませんので、詳しく知りたい方はbrew tap
などで検索してください。
移行元にこれらの変更を反映しておきたい場合はcleanupしましょう。
brew bundle cleanup
STEP4
Brewfileを移行先へ持っていきます。
この時点で自前のgithubへpushしておき、dotfile等と一緒に管理しておくのがおすすめです。
STEP5
移行先でパッケージのinstallをおこないます。
Xcodeなどサイズの大きいappを記載している場合は相応の時間がかかります。
brew bundle
さいごに
パッケージはこれで移行できました。
しかし、他に.sshや.awsなどのcredential類、環境変数など移行しなければいけないものはたくさんあります。
全てが自動化できれば大変魅力的ですが、メンテナンスの手間からは逃れられません。
とはいえ、移行作業を文書ファイルを眺めながら一つ一つ手動実行するのは時間がかかります。
まだhomebrew-bundleを使ったことのない方は、次回の移行時に触ってみることをおすすめします。