Brewfileを使ってMac移行時にコマンド1つで必要なアプリを全てインストールできるようにする|Homebrew Bundle

自分はHomebrew Caskを使ってアプリをインストールするようにしています。
また、インストール用のコマンドをメモしてDropbox上にまとめているので、Mac移行時はHomebrewをインストールしてコマンドを叩けば一気にインストールできます。
ただ、これだとApp Storeのアプリはインストールできなかったので別途インストールが必要です。
(そのためApp Storeのアプリは極力入れないようにしていました)
しかし、「Brewfile」を使えばApp Storeのアプリもインストールできますし、ファイル上にアプリを全部まとめてコマンドは1行で済むなど、かなりスマートになります。
ちなみに、Brewfileはファイルの名前で、機能名は「Homebrew Bundle」になります。
Brewfileの使い方
Homebrewが入っていればBrewfileは使えます。
いまの環境からBrewfileを生成する
自分の環境に入っているアプリと照らし合わせながら、1からファイルを作っていくのは面倒です。
下記コマンドを実行すれば、自動で現在の環境に合わせてBrewfileが生成されています。
brew bundle dump実行するとホームディレクトリのBrewfileが生成されています。
アルファベット順にキレイに整理されています。
Dropbox内に移動して、もとあったホームディレクトリにはシンボリックリンクを置いておくと、Macを移行しても必要なアプリがすぐにインストールできますね。
Brewfile内のルール
Brewfileにはいくつかルールがあるので、まとめます。
(自分で書く必要はないですが、どんな風に書かれているのか理解するため)
- 先頭に「
cask_args appdir: "/Applications"」という風に記述すると、インストーラを使ってインストールするアプリの保存場所を指定できる - Homebrewに登録されているコマンドラインツールは「
brew 'ツール名'」(brew installコマンドでインストールするもの) - Homebrewに登録されていないコマンドラインツールは「
tap 'ツール名'」(brew tapコマンドでインストールするもの) - 通常のアプリケーションは「
cask 'アプリ名'」(Homebrew Caskを使ってインストールするもの) - App Storeでインストールするアプリは「
mas 'アプリ名' id:○○」
ちなみにbrew caskはHomebrewをインストールすれば自動で使えるようになりますが、masに関しては別途「mas-cli」をインストールする必要があります。
Brewfileを実行する
Mac移行時はホームディレクトリにBrewfileを置いて下記コマンドを実行します。
brew bundleいままでMagnetをいちいちインストールするのが面倒だったのですが、その必要もなくなりました。
Brewfileにいまの環境を合わせる
Brewfileは言ってしまえば「いまの自分のMacにインストールされている全てのコマンドラインツール・アプリの一覧ファイル」になります。
一覧を見ていて「このアプリ使っていないな」となったら、Brewfileから該当の行を削除して、下記コマンドを実行します。
するとBrewfileに合わせて削除した行のコマンドラインツール・アプリをアンインストールしてくれます。
brew bundle cleanupいまのMac環境はとりあえずここを見ればよくなるので、これはかなり便利ですね。


MacのGoogle Chromeで選択した文章を読み上げてもらう方法
Finderで選択したフォルダを特定のアプリケーションで開くAlfred Workflowの作り方
Keynoteのプリセットカラーを好みの色にカスタマイズする方法
1PasswordとAlfredを連携してログイン情報の検索を行う方法
macOSのシステム環境設定「Mission Control」の設定見直し
1Passwordで素早くパスワードを入力するためのショートカットキー
Google Chromeのブックマークを綺麗に整理するコツ
Backlogの課題期限をカレンダーアプリのFantastical 3に表示させる方法
Path Finder 8で使える4種類のファイル検索方法
Google Chromeの別アカウントとのブックマークを同期する「TeamSync Bookmarks」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
メールによくある「アーカイブ機能」が何なのか今まで知らなかったので調べてみた
ATOKのキーワードチャージで、よく見るサイトで使われている単語を学習させる方法
macOSのシステム環境設定「Spotlight」の設定見直し
Mac版Excelで「一部の内容に問題が見つかりました。可能な限り内容を回復しますか?」の原因と解決方法
Magic Mouseの軌跡の速さを限界を超えて速くする方法
Figmaでロゴやアイコンなどのビットマップ画像をベクターデータにトレースするプラグイン「Image tracer」
日々のちょっとした作業を効率的にする小技 #1日1Tips – 2019年7月
Google Chromeの別ユーザーへの切り替えを簡単に行うKeyboard Maestroマクロ
Illustratorの選択系のツールを徹底的にまとめる
Gmailでとりあえず最初にしておくと便利な設定