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環境はとりあえずここを見ればよくなるので、これはかなり便利ですね。


BetterTouchToolのウインドウスナップ機能とBetterSnapToolの細かい違い
Path Finderでのカラム表示とリスト表示の切り替え
Alfredの環境設定の同期・バックアップの方法
Karabiner-Elementsを使ってright_command + h/j/k/lで矢印の入力ができるようにする
Macのホームディレクトリにある設定ファイルをDropboxで管理する
Visual Studio CodeのEasy Sassを使って簡単にSassのコンパイルを行う方法
Workspacesの検索ウインドウで使えるコマンド一覧
Path Finder 8の「パスのコピー」の種類とその違いについて
Path Finderでファイルのコピー・移動時に「._」から始まる不可視ファイルを一緒にコピーしないようにする
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Macの基本操作をラクにするために使っているユーティリティアプリ
Visual Studio CodeでMovable TypeのMTMLファイルを開く拡張機能「Movable Type Markup Language Syntax」
CSSで1行で簡単にスムーススクロールを実装できる「scroll-behavior」プロパティ
Illustratorの選択系のツールを徹底的にまとめる
Figmaで細かいアニメーションを作成できるプラグイン「Motion」
iTerm2で起動時に左上に表示される「Tip of the Day(今日のTip)」を非表示にする方法
高機能で定番なテキストエディタ「Jedit Ω」で自分好みの編集を実現する
Keyboard MaestroのThird Party Plug Insの作り方
Google Driveでフォルダのコピーをする方法
Visual Studio Codeのエクスプローラーを見やすくするちょっとしたカスタマイズ