mcpField
N
nix-rebuild

nix-rebuild

github.com/edmundmillerクラウド・DevOps8046 回インストール今日更新
リポジトリ

nix-rebuild について

nix-rebuildは、macOSでNix管理の設定変更を反映するためのスキルです。darwin-rebuildコマンドとheyのラッパーを使った再構築、テスト、世代のロールバック方法を説明します。

主な機能

  1. 01darwin-rebuildによる設定の再構築
  2. 02heyを使った再構築
  3. 03ブートエントリーなしでのビルドと有効化
  4. 04前のシステム世代へのロールバック
  5. 05更新後のNix storeシンボリックリンクの確認

活用シーン

  1. 01Nix設定ファイルの編集内容の反映
  2. 02Home Managerがリンクするファイル変更の有効化
  3. 03不要なシステム世代からの復旧

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/edmundmiller/dotfiles --skill nix-rebuild

インストール後、Claude Code で/nix-rebuildを入力して読み込まれたか確認します。

詳細

Nix システムの再ビルド

~/.config/dotfiles 内の Nix 管理対象の設定を変更した後は、変更を反映するためにシステムを再ビルドする必要があります。Nix ストアのシンボリックリンクは読み取り専用のため、その場で編集することはできません。

クイック再ビルド

cd ~/.config/dotfiles
sudo darwin-rebuild switch --flake .

darwin-rebuild には NOPASSWD の sudoers ルールが設定されているため、対話なしで実行できます。

hey の使用

hey コマンドで再ビルドを実行できます。

hey rebuild    # or: hey re
hey test       # build + activate without boot entry
hey rollback   # roll back to previous generation

再ビルドが必要な場合

  • .nix ファイルを編集した後
  • home-manager 経由でシンボリックリンクされている設定ファイル(lazygit、ghostty など)を編集した後
  • Nix ストアのパスへの書き込み時に「permission denied」が表示された場合

ワークフロー

  1. ~/.config/dotfiles/ 内のソース設定を編集します
  2. 変更をコミットします
  3. sudo darwin-rebuild switch --flake ~/.config/dotfiles を実行します
  4. シンボリックリンクが更新後の Nix ストアのパスを指していることを確認します

コメント