M1 Macセットアップ

Apple Siliconの載ったMacBook Airが届いた。自分は環境構築が好きなので、新しいMacを購入したときやOSのメジャーアップデートのときは移行アシスタントを使わずに初期状態からセットアップしている。以下はその過程のメモ。

アプリケーションについてはhomebrew > mas > 手動の優先度で見つけてインストールする。まずはhomebrewを公式サイトのスクリプトからインストール。その際にxcode-selectも自動的に入る。

Homebrewは3.0.0になったことでApple Silicon (arm64) に対応して、arm64環境ではデフォルトで/opt/homebrew/にインストールされる。しかし一部のパッケージはまだ対応が済んでないので、必要に応じてx86_64環境でも使えるように、Rosetta 2でx86_64版もインストールする。具体的な手順としては、FinderでTerminal.appを右クリックして、Get Info > Open using Rosettaにチェックを入れ、再びhomebrewのセットアップスクリプトを実行する。するとx86_64のhomebrewが/usr/localにインストールされる。加えて下記のコードを~/.zshrcに書いておくことで、シェルの実行環境に合ったhomebrewと一連のパッケージを使用できるようにする。

if [[ `uname -m` == 'arm64' ]]; then
    export BREW_ROOT=/opt/homebrew
else
    export BREW_ROOT=/usr/local
fi

export PATH=$BREW_ROOT/bin:$PATH
export PATH=$BREW_ROOT/sbin:$PATH
fpath=($BREW_ROOT/share/zsh-completions $fpath)

alias x="/usr/local/bin/zsh"

Open using Rosettaにチェックを入れたままではTerminal.appが常にx86_64環境になってしまう。そこで、x86_64用にもzshをインストール ($ brew install zsh) してからRosettaのチェックを外し、$ xのコマンドでx86_64のzshを起動できるようにしておく。どちらの環境が使われているかは$ uname -mで分かるので、プロンプトに表示させておくと良い。

Homebrewのインストールが終わったらdotfilesをホームディレクトリにgit cloneして、一連のbrewパッケージとmasアプリケーションをインストールする。Python, nodejs, rubyなどはasdfをホームディレクトリ以下にgit cloneして最新のバージョンをインストールした。最後にDropbox経由で必要なファイルを同期すればセットアップは完了。