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。
- GCPはどうせ
- キーチェーンアクセスからApple Developer関連の証明書/秘密鍵をp12に書き出しておきます。
- Developer ID Application, Developer ID Installerの証明書と秘密鍵
SSHが使えるように設定しておく
- 後でsftp/scpなどを使うため、SSHを有効にしておきます。
- Venturaの新設定パネルでは一般→共有に設定があります。
新端末でのセットアップ
初回起動
初回起動ウィザードを進めます。 昨今は最初からFileVaultが有効になるんですね。
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