Nix (nix-darwin + home-manager) によるクロスプラットフォーム環境管理
| OS | 管理方法 | ビルドコマンド |
|---|---|---|
| macOS | nix-darwin + home-manager | dr |
| Ubuntu homelab | Nix app + Ansible + home-manager + Compose | nix run .#server-apply |
共通のCLI・shell・agent設定はnix/home-manager/home.nixから両OSへ配布する。
macOSのsystem設定とHomebrewはnix/darwin/に閉じ、Ubuntuのsystem設定とservice運用はserver/に閉じる。
共有module内で差が必要な設定だけpkgs.stdenv.isDarwinまたはisLinuxで分岐する。
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- installgit clone https://github.com/r1cA18/dotfiles.git ~/dotfiles
cd ~/dotfiles
# macOS (RMB / r1ca18)
nix run nix-darwin -- switch --flake .#RMB
# macOS minimal server (MBP187-Z / mbp187)
nix run nix-darwin -- switch --flake '.#MBP187-Z'
# macOS (r1ca18lab)
nix run nix-darwin -- switch --flake .#r1ca18labUbuntuはNixの前に必要なbootstrap packageがある。初回手順はserver/README.mdを上から実行する。
dr # macOS全体またはLinuxのHome Managerだけを適用
nix run ~/dotfiles#server-apply # Linuxのsystem設定とHome Managerを一括適用h # エイリアス一覧(説明付き)
hv nix # エイリアス一覧を絞り込み
dr # macOS全体またはLinuxのHome Managerをリビルド
update-all # flake・GitHub apps・Claude Code・Codex・Antigravityを更新claude # Claude Code起動
clc # 前回のセッション継続
clr # セッション選択して再開
cld # 承認スキップモードcodex # Codex 起動
codex mcp list # Codex 側の MCP 設定確認dotfiles/
├── flake.nix # flake エントリポイント
├── flake.lock # 依存ロック
├── nix/
│ ├── darwin/configuration.nix # macOS設定、Homebrew
│ └── home-manager/
│ ├── home.nix # ユーザー設定
│ ├── hosts/homelab.nix # Ubuntu homelab profile
│ └── programs/
│ ├── packages.nix # CLIパッケージ、PATH
│ ├── zsh.nix # エイリアス(自動ヘルプ付き)
│ ├── nh.nix # nh設定
│ ├── git.nix # Git
│ ├── neovim.nix # Neovim
│ ├── ghostty.nix # Ghostty設定
│ └── karabiner.nix # Karabiner
├── nvim/ # Neovim設定
├── karabiner/ # Karabiner設定
├── server/ # Ansible・service起動・移行手順
└── docs/ # ドキュメント
dr実行時に自動インストール:
nhgemini-cliagent-browserast-grep
Claude Code・Codex・Antigravity本体はnative installer版を使う。Home Managerは未導入時のbootstrapと宣言設定を管理し、update-allから明示的に更新する。runtime stateはprofileごとに分離する。
共有skillの正本はagents/skills/に置き、外部skillと合わせてagent-skills-nixからClaude/Codexへ配布する。有効なskill一覧と追加方法はdocs/guides/skills.mdにまとめてある。
| ドキュメント | 説明 |
|---|---|
| docs/README.md | ドキュメント目次 |
| docs/architecture.md | アーキテクチャ詳細 |
| docs/agent-platforms.md | Claude / Codex 運用整理 |
| docs/claude-plugin-audit.md | Claude plugin 棚卸し |
| docs/guides/ | 各種ガイド |
| server/README.md | 新homelab構築・移行 |