Open6

買い替えたMacの初期設定を自動化する

ピン留めされたアイテム
chckchck

M1 Max (2021) からM3 Ultra (2025) に買い替えたので開発環境の構築を自動で行いたい。
Time Machineで設定を移行できる公式サポートがあるが、使っていないアプリやデータなど古い依存は全て過去に置いていく。大掃除するくらいなら部屋ごと引っ越したい。
shellからcommand、application周りの見直しと、
それらをgithubのdotfilesとして管理し、install command 1つで全ての設定ができる状態を目指す。

chckchck

まずはGeekbenchで新旧スペック比較
テンションを上げておく

chckchck

後続の設定UXに関わってくるので、入力デバイス(キーボード・トラックパッド)からやっていく
タイトルからさっそく外れるが、自動化できていない部分になる

システム言語の変更

好みだが、英語で設定できる場合は基本英語にしている
世の中には英語を基調としているツールが多いため、デザインが崩れないのが良い
https://support.apple.com/ja-jp/guide/mac-help/mh26684/mac

トラックパッドの設定変更

キーボードの設定変更

Caps LockをCtrlに

https://note.com/yangpi_murakumo/n/nb1915a68e912

デスクトップをクリックした際の挙動変更

https://info.datafarm.jp/blog/tech/entry-1095.html

不要なApplicationをDockから削除

必要なApplicationはこの後まとめて入れるのでFinderとSystem Settings以外を削除
Dockを右クリック、Turn hiding off

Finderの設定、GeneralとSidebarを自分好みに

chckchck

以降はterminalから開発環境を設定していく

Homebrewのinstall

https://brew.sh/ja/

default shellをzshに変更

chsh -s /bin/zsh && exec $SHELL -l

ghqのinstall

brew install ghq

dotfilesのclone

ghq get dotfiles

自身のrepositoryである https://github.com/chck/dotfiles.git がdownloadされる

dotfilesの実行

cd dotfiles && ./install.sh

Xcodeのinstallやらなんやらがはじまるので待つ
dein.vimの設定でdotfilesのinstall.shがスタックするので
sh /tmp/installer.sh を直接実行後、install.shの再実行に戻る

適宜password入力や権限許可が求められるので対応しながら進める

chckchck

sheldon

sheldonがインストールされる前にsheldonのcacheが作られてしまうので削除

rm ~/.cache/sheldon.zsh*

sheldonがinstallされたら

sheldon lock --update

sheldon の path が通ってなかったら先に

eval$(mise activate zsh)source ~/.zshrc

Google IME

Google IMEがinstallされたらタイミングを見計らってPC再起動
keyboardの入力をdefaultから切り替え、show input menu in menu barをoffに

https://www.karakaram.com/deleting-alphanumeric-input-sources-on-macos-bigsur/

HiraganaとAlphanumericだけ残す

keyboard shortcutのinput sourcesとspotlightを調整

https://techracho.bpsinc.jp/hachi8833/2023_11_17/135935

Karabiner Elements

Karabiner Elementsを起動、設定を有効化
neovim上だけ; -> : 変換されるように(英字キーボードにおすすめ

Arc browser

Arc browserを起動、default browserをArcに
settings -> sync sidebarでアカウント設定を同期
profileをdefaultと新規でもう1つ作成し、それぞれset profileでspaceに紐づける(仕事用・私用でgoogle account単位で分けることができる

Iterm2

iterm2の設定をdotfilesから同期するように

chckchck

GitHub

著名のためにgpg keyを古いPCからAirDropとかで渡してimport

gpg --import gpg_pub.key
gpg --import gpg_sec.key

importしたgpg keyを確認し、pass commandに渡す

gpg -k
gpg --edit-key ${GPG_ID} trust quit
pass init ${GPG_ID}

https://smile-jsp.hateblo.jp/entry/2020/12/13/132318

順調にいけば90分くらいでここまで全ての設定が終わる