概要
ターミナルの主たる利用者が AI agent になった現状に合わせ、環境設定を「AI 向けをデフォルト、人間用を opt-in」へと再設計し、Nix で管理する手法の解説。
詳細内容
ターミナルでの作業の大部分を Claude Code 等の AI が担うようになった現代において、人間向けの便利な設定(エイリアスや対話型コマンド)が AI の動作を阻害する問題を解決するための取り組みが紹介されています。筆者は dotfiles を AI ファーストに作り変え、以下の 3 点を実施しました。
1. **AI デフォルト・人間 opt-in**: `.zshenv` で TTY や環境変数を使い、人間か AI かを判定。AI には最小限の構成を提供し、人間用設定は明示的に読み込むことで、シェルの起動高速化と AI の誤作動防止を両立。
2. **コマンドの最適化**: AI の学習済み知識に合わせ、不要な GNU エイリアスを排除。一方で、`rm` を自作のゴミ箱移動ツール `gomi` に偽装させることで、AI の挙動を損なわずに安全性を確保。
3. **Nix による管理の統合**: Nix (home-manager) を活用し、ツールのインストール、設定(人間用/AI用)、および AI への使い方指示(Agent Skills)を 1 ファイルにまとめる(co-location)仕組みを構築。
この構成により、AI のための環境整備と人間にとっての利便性を高度に分離・共存させています。