2025年5月 Macの再インストール手順メモ

Table of Contents

背景・動機

たまたまMacを再インストールする必要があった。 普段、手元のマシンの環境構築手順を洗練させてたお陰で少ないステップで構築できたので何をやったのか後学の為にメモしておく。

試したこと・やったこと

0. Macの生前整理と初期化動線

データが消えてもいいようにバックアップしておく。 基本的にGoogle DriveかGitHubにすべてが置いていて今日PCが故障しても問題ない運用にしている。

  • 消えてほしくないデータをGoogle Driveに置く
  • commit漏れてるrepoがないか確認して必要ならpushしておく

初期化動線は通常のmacの初期セットアップなので割愛。

1. homebrewを入れる

terminal.appを開いてhomebrewをインストールする。

https://brew.sh/ja/

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. nixos-configurationを実行する

YubiKeyを挿した状態でnix buildを実行する。 必要なツールとmac固有の設定はほぼすべて自動で入るようになっている。

$ git clone https://github.com/takeokunn/nixos-configuration
$ cd nixos-configuration
$ nix run nix-darwin --extra-experimental-features 'flakes nix-command' -- switch --flake .#OPL2212-2 --show-trace

3. GPG/SSH回りを設定する

GPG KeyのYubiKey運用をはじめた にある「3. 新規端末で副鍵(Sign, Auth)を入れる」以降を行う。

GitHubのssh認証を確認する。

$ ssh -T git@github.com
Hi takeokunn! You've successfully authenticated, but GitHub does not provide shell access.

4. 必要なレポジトリを落としてsecret.orgをorg-babel-tangleする

$ ghq get で必要なレポジトリを網羅的に落とす。 credential管理をorg-encryptからpassword-storeに移行した のとおり、 M-x org-babel-tangle でpassword-storeを実行して必要な設定ファイルのほぼすべてを配置できるようにしている。

5. Mac固有の設定をする

5.1. Keyboard周り

Mac | Option + Tab キーで、同じアプリ内のウィンドウを切り替え可能にする - Qiita を参考に Option+Tab で切り替えられるようにした。

CAPS_LOCKなどはnix-darwin側で設定している。

https://github.com/takeokunn/nixos-configuration/blob/e49ba0e9e88cbb96a51e4810dbbdb60343e9c5cb/nix-darwin/config/keyboard.nix

5.2. IME周り

Mac で AquaSKK を Ctrl+Space で切り替えなくても良くする方法 - Zenn を参考にAquaSKKのみ表示されるようにする。

sonoma 15.5ではなぜかできなかったので次の手順で行った。(thanks @Omochice

  1. aquaskkを追加する
  2. 日本語>日本語ローマ字を有効化
  3. 日本語ローマ字の入力モード>英字を有効化
  4. ABCを消す
  5. 日本語ローマ字を消す

5.3. アプリ周り

SpotlightをdisabledにしてRaycastを有効にするなどの細かい対応をした。

6. その他

細かい対応を都度行った。

  • Webサービスログイン作業
  • Slackセットアップ
  • gh auth loginterraform login など
  • phpactor index:build などのキャッシュ温め作業
  • offlineimap 実行
    • 量が多くて半日くらいかかった
  • etc..

得られた結果・所感

8〜9割はNix経由でセットアップが完了したので本当に楽だった。

直前に GPG KeyのYubiKey運用をはじめた 対応をしたが、想像以上にスムーズに設定できたので大満足。

デスクトップ環境をdisposableに保つ はArch Linuxだが、Nixならより簡単かつ宣言的に記述できるのでNixは素晴しいですね。

今後の展開・検討事項

chshがうまくいかなかったので、以下を参考に設定しておく。

Option+Tab の設定が面倒なのでKarabiner-Elementsを入れてもよいのかもしれない。

MacはGUI経由じゃないとできない固有の設定が多い(nix-darwinがサポートしてない部分)ので大変だったが、NixOSならもっと工数を減らせるはず。 NixOSの設定も頑張りたい。