Macって増えていきます。その度に環境を再構築すること、そして合わせていくことが大変手間で困っていました。問題は「手順を覚えていない」ことではなく、「毎回同じ判断をし直す」ことです。どのツールを入れるか、設定ファイルはどこに置くか、何が揃っていれば自分の環境と言えるか——これを毎回ゼロから再決定している感覚がありました。
そこで、iCloud Driveでdotfileを同期、GNU Stowでhomeディレクトリにシンボリックリンク、それらの更新をClaude Codeのskillで扱うようにしました。
iCloud Driveを選んだ理由
macを前提として同期インフラをゼロコストで得られるからです。iCloud Driveであれば、サインインして同期が終わればもうそこにある。「環境を取りに行く」ではなく「環境が来る」という順序の違いが地味に大きいです。
GNU Stowとの組み合わせは、iCloud Drive内のファイルをそのままホームディレクトリの設定ファイルとして機能させるためです。Stowはシンボリックリンクを張るだけなので、iCloud側のファイルを編集すれば即座に反映されます。中間フォーマットへの変換も、専用CLIも不要です。
Claude skillを使う理由
GNU Stowを使おうがどうしようが「手順を覚えてコマンドを叩く」という作業が残っていました。新しい設定ファイルが生まれたときにdotfiles管理下へ移す操作は、手順が決まっているのに毎回思い出す必要があります。これをスキルとして .claude/skills/ に書いておくことで、「意図を伝える」だけで完結するようになりました。
スキル自体もdotfileと同様においてるので、Claude Codeをそのディレクトリで開けばすぐ使えます。ドキュメントとして書くより、実行可能な形で書いておくほうが使われ続けると思っています。
他の手段とやらなかった理由
他にも素敵な方法はいくつもあるわけですが、今回は見送りました。
gitでdotfileをpush/pull
変更のバージョン管理としてはgitにおいてますが、同期手段にはしませんでした。pullし忘れると思ったからです。pushも同様で、手動操作が介在する時点で「絶対やる」という確信がありました。dotfileを編集する機会はわたしの作業上ほぼないので、iCloudの同期でじゅうぶん間に合います。同期がすぐ反映されることと、操作が不要なことの組み合わせが決め手でした。
chezmoi / mackup などのdotfile専用ツール
高機能ですが、そのツール自体の学習コストと、ツールに依存した構造になることが気になりました。そしてコマンドも覚えきれません。
Ansibleなどで環境構築を宣言的に書く
何十台とやるわけじゃないので、設定を維持しきれません。dotfileを管理したいのに、その管理のための管理が増えていく。