macOS の環境構築(2023年版)
最近 Apple Silicon の MacBook の環境構築を行う機会があった。諸々の都合で Time Machine を利用することができなかったので、一から環境構築を行った。2019年に一度似たような内容の記事を書いているが、幾つか変更が必要な箇所もあったので改めて環境構築の手順について書く。
構築手順
前提として、移行前の環境のデータのコピーは既に完了しているものとする。ホームディレクトリに配置している隠しファイルやディレクトリ (~/.ssh
や ~/.aws
など) は見落としがちなので、コピーのし忘れに注意する。
アプリのインストール
自分はアプリのインストールを可能な限り Homebrew 経由で行っている。こうしておくと brew bundle dump
コマンドによってインストールされたアプリの一覧を Brewfile
として出力することができ、移行先の環境で brew bundle
を実行してアプリをインストールできる。自分は GitHub の dotfiles リポジトリ上に Brewfile
をアップロードして各環境から参照できるようにしている。
dotfiles/Brewfile at master · hamakou108/dotfiles - GitHub
なお Intel と Apple Silicon で $HOMEBREW_PREFIX
のパスが異なっており、シェル起動時に /opt/homebrew/bin
を $PATH
に追加する必要があった (上記リポジトリでは対応済み) 。
操作性に関係するアプリの設定
Mac の操作性を大きく左右するアプリの設定を済ませておくと後続の設定が捗る。 特に設定しておいた方が良いアプリについて優先度順に書く。
Karabiner-Elements
設定の Complex Modifications を編集する。日本語環境向けの 設定 をインストールして必要なルールを追加する。
Raycast
設定の Raycast Hotkey を編集する。
Spotlight のショートカットキー ⌘ + Space
を上書きする場合は System Settings から Keyboard メニューの Keyboard Shortcuts を開き、 Spotlight にある Show Spotlight search のチェックを外す。
AltTab
設定の Controls からショートカットキーを編集する。同一アプリケーション上のウィンドウ切り替えは macOS のデフォルトより AltTab の方が個人的には使いやすいので、 Shortcut 2 に ⌘ + `
を割り当てている。
Bartender
設定の License からライセンス情報を入力する。移行前の Mac を今後使わない場合は Remove License からライセンスを削除しておく。
開発環境の構築
iTerm
配色の設定を行う。 Profiles で適当なプロファイルの Colors タブを開き、 Colors Presets を選択する。デフォルトで入っているプリセットでも良いし、 iTerm Color Schemes からインポートしても良い。
dotfiles の配置
前述した dotfiles リポジトリには Fish や Vim などの各種設定ファイルのシンボリックリンクをホームディレクトリに作成するコマンドを用意しているので、これを実行する。
$ /bin/bash ./bin/link.sh
Fish
シェルを Fish に変更する。
$ which fish | sudo tee -a /etc/shells
$ chsh -s /usr/local/bin/fish
その後 Fisher をインストールする。
$ curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
このとき一度 .config/fish/fish_plugins
から fisher 以外のリストが消えてしまう。
そのため一度 dotfiles リポジトリ上でリストを復活させた上で残りのプラグインのインストールを行う。
$ git restore config/fish/fish_plugins
$ fisher update
また tide で利用している Nerd Fonts (Homebrew でインストール済み) が iTerm から認識されるように、設定の Profiles で適当なプロファイルの Text タブを開き、 Font から Hack Nerd Font (または Hack Nerd Font Mono) を選択する。
Tmux
tpm のリポジトリをクローンする。
$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
その後 Tmux を起動し、 <Prefix> + I
でプラグインをインストールする。
asdf
必要な言語のランタイムをインストールする。今回はランタイムの整理も行いたかったので手動でインストールを行ったが、そのままの内容で良ければホームディレクトリの .asdf
ディレクトリをそのままコピーすれば良い (たぶん) 。
$ asdf plugin add nodejs
$ asdf install nodejs 18.13.0
最後に
移行にはそれなりに時間が掛かったが、ファイルやアプリを棚卸ししてスッキリさせることができたので良かった。