Brewfile作成の際に知っておきたいHomebrewまわりの機能

自分のdotfilesをメンテナンスするにあたって、他の人のを参考にしていたら、Brewfile上で知らないコマンドがいろいろ使われていたのでまとめる。これらをうまく使えば、インストール作業の自動化の幅が広がりそうだ。

Tap

TapはHomebrewに登録されていないライブラリを、各ユーザがbrewコマンドで管理できるようにするための機能。 brew tap <user/repo> で、GitHub上にあるライブラリを登録できる(このコマンドの後にURLを指定すれば、GitHubレポジトリ以外のライブラリも登録可能)。 brew tap コマンドで、自分が登録したTapの一覧を見ることができる。
dotfiles上でよく見るのは、 後述のCask-versionsやCask-fonts、後は heroku/brew の登録あたりだろうか。 github.com

Cask

オープンソースではないソフトウェアやアプリケーションの中にも、CaskとしてHomebrewで管理されているものがある。例えば brew cask install slack とすればSlackをインストールできる。
これを使えば、App Storeからダウンロードしたり、Applicationフォルダにアイコンをドラッグしたりする手間がないので、自動化がはかどる。dotfilesを作る際はぜひ使っておきたい。
github.com

Cask-versions

Caskのバージョン管理をするためのプロジェクト。デフォルトの機能ではないので、使うには brew tap homebrew/cask-versions としておくことが必要。
これを使うと、Caskとして公開されているアプリケーションの一部について、古いバージョンやBeta版をインストールできるようになる。 github.com

Cask-fonts

Caskと同じように、fontをインストールできる。fontの設定を手動でやるのは面倒なので、使いたいfontがある場合はぜひこれを試したい。Cask-versionsと同様に brew tap homebrew/cask-fonts しておくことが必要。 github.com

mas

masはmacApp Storeを操作するcliツールである。これを使えば、Caskに登録されていないアプリケーションも自動でインストールできるようになる。XCodeをmasで入れている例もあった。
masはHomebrewのプロジェクトではないが、Homebrewと連携しており、 brew install mas をしておけば、Brewfile内で使うことができる。 github.com

この辺りを知っていれば、端末を変えたときの初期設定時間が数十分の一になりうる。今の端末が使えるうちから、設定の自動化のためにいろいろ整備しておきたい。