M2 MacBook Airに買い換えてIntelから乗り換えたので、最初から環境を再設定した

M2 MacBook Air(M2, 13インチ)に買い換えました。

前使っていたのは2018年モデルのMacBook Pro 15インチでした。 個人的に5年買い換えサイクルにしていたのと、最近ファンが回る場面が多くなりそろそろintelは限界かと思った次第です。

元々アプリエンジニアなので前回はMacBook Pro 15インチにしていたのに、今回そうしなかったのは、M2は強力なので個人でやる開発ならProでなくても十分な性能ではなかろうかと考えたこと、外でStoryboardを操作する機会はなくなったので13インチで十分(必要なら家で4Kモニターつないでやればいい)、あと見た目が好きだったので13インチのMacBook Airとなりました。

IntelからApple Siliconへの乗り換えなので、一度全部設定をやり直そうと、今回はゼロから設定することにしました。 このエントリは設定手順のメモです。

旧端末での準備

Homebrewで入れたものを確認する

旧端末でHomebrewで入れていたものを確認しました。brew listで確認できます。 ※以下は設定後の新端末での出力例

$ brew list

==> Formulae
anyenv      direnv      macvim      nspr        python@3.11 sqlite
ca-certificates libyaml     mkcert      nss     readline    xz
cscope      lua     mpdecimal   openssl@3   ruby

==> Casks
1password       discord         google-drive        microsoft-edge
alfred          firefox         hot         multifirefox
atok            fork            jetbrains-toolbox   slack
charles         google-chrome       logitech-g-hub      sony-ps-remote-play
coteditor       google-cloud-sdk    macdown         xcodes

前の前の端末から移行してきたものもあり10年くらい使い続けていたので、いらないものも多数あり一度整理しました。

鍵をエクスポートする

  • SSH秘密鍵(~/.ssh)やAWSのクレデンシャル等の設定(~/.aws)をアーカイブにしておきます
    • GCPはどうせ gcloud auth login するだけでよいので別にしなくてOK。
  • キーチェーンアクセスからApple Developer関連の証明書/秘密鍵をp12に書き出しておきます。
    • Developer ID Application, Developer ID Installerの証明書と秘密鍵

SSHが使えるように設定しておく

  • 後でsftp/scpなどを使うため、SSHを有効にしておきます。
    • Venturaの新設定パネルでは一般→共有に設定があります。

新端末でのセットアップ

初回起動

初回起動ウィザードを進めます。 昨今は最初からFileVaultが有効になるんですね。

SSH秘密鍵のコピー

旧端末からSSH秘密鍵をコピーします。

事前に旧端末で有効にしておいたSSHを使うか、AirDropを使います。

Rosetta2 のインストール

とりあえずこれがないと始まりません。

$ sudo softwareupdate --install-rosetta

Homebrewのセットアップとソフトウェアのインストール

Homebrewの公式から手順に従ってインストールします。

その後、事前に調べておいたソフトウェアをHomebrewでインストールします。

$ brew install --cask xcodes ...

Xcodeをインストールする

XcodeのインストールにはXcodesを使っています。 その時々の最新版をインストールします。

dotfilesのクローン

dotfilesをインストールします。僕はGitHubにdotfilesを公開していて、CloudFrontでドメインを付与しています。

$ curl -L https://dot.iseteki.net/ | sh

ファイルのコピー

その他のファイルを旧端末からコピーします。昨今はファイルが全部ホームディレクトリ以下にあったので簡単に設定ができました。 ファイルの転送にはAirDropを使いました。全然問題にならない速さでしたです。

ただし、ミュージックフォルダをAirDropで転送すると、ファイルが欠落してしまいました。ここだけrsyncでコピーしました。

$ rsync -auzv --size-only --8-bit-output -e ssh old-macbook.local:Music/Music/Media Music/Music/Media

言語処理系のインストール

言語処理系のインストールにはanyenvを使っています。 僕の.zshrcには[ -f ~/.zshrc.local ] && source ~/.zshrc.local というものが書いてあり、環境固有の処理を記述できるようになっています。(.zshenvだと正しく認識されない項目があり、anyenvの初期化もその一つ)

$ brew install anyenv
$ anyenv install --init
$ vim ~/.zshrc.local
----
# add
eval "$(anyenv init -)"
----

ターミナルを再起動して、各種envをインストールします。

$ anyenv install nodenv