👻

Macのアプリ管理をhomebrewで簡単に

2025/01/08に公開

モチベーション

  1. 新しい mac に移行するときに、インストールし直すのが大変
    (iCloud を使用をしてもいいが、キャッシュファイルや不要なアプリが新しい mac に入ってしまう)
  2. 定期的にハードリセットして、不要ファイルを削除したい。その際のアプリインストールが大変
  3. CLI だけでなく、GUI アプリも一元管理したい

方法

  1. homebrew をインストールする
  2. homebrew 経由でアプリをインストールする
  3. homebrew の dump ファイルを Git で管理する
  4. dump ファイルからインストールする

詳細

1. homebrew をインストールする

homebrewの Install Homebrew のコマンドを実行する
2025-1-7 時点のコマンドは以下の通り

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. homebrew 経由でアプリをインストールする

コマンドは以下の通り

brew install アプリ名

GUI アプリをインストールしたい場合
--cask を付け加える

brew install --cask アプリ名

3. homebrew でアプリをインストール

brew install git
brew install git-delta
brew install neovim
brew install gh
brew install fish
brew install yazi
brew install nodenv
brew install pyenv
brew install php-cs-fixer
brew install --cask wezterm
brew install --cask orbstack
brew install --cask slack
brew install --cask raycast
brew install --cask discord
brew install --cask zoom

以下リンクは、アプリ一覧
CLI
GUI アプリ

ついでに、App Store のアプリも Homebrew で管理する

mas を使用する

  1. mas のインストール
brew install mas
  1. mas を使用して App Store からアプリを検索する
mas search アプリ名

以下、「line」での検索結果

$ mas search line
1500855883  CapCut - 動画編集アプリ                           (7.6.2)
   539883307  LINE                                       (7.14.1)
  1310262344  Code Of War: シューターオンライン                    (3.17.5)
・・・
  1. mas でアプリをインストールする
mas install アプリID

上記、LINE でいうと

mas install 539883307

4. dump ファイルを作成する

インストールしたアプリ一覧をファイル出力する

今後のために、.config ディレクトリ内に dump ファイルを作成する

cd ~/.config
brew bundle dump --global

.Brewfile が作成され、以下のような中身になっている
(finder で確認している方は、「cmd + shift + .」で隠しファイルを表示できる)

brew "fish"
brew "gh"
brew "ghq"
brew "gibo"
brew "git"
brew "imagemagick"
brew "jq"
brew "make"
brew "neofetch"
brew "peco"
cask "chromium"
cask "google-cloud-sdk"
cask "slack"
cask "zoom"

5. Git で管理する

.config ディレクトリを Git で管理し、簡単に移行できるようにしておく

6. 移行するさいにインストールする時

.Brewfile があるディレクトリ(.config ディレクトリ)で以下のコマンドを実行する
mas コマンドでインストールした App Store のアプリも一緒にインストールされる

brew bundle --global
GitHubで編集を提案

Discussion