| name | rebuild |
| description | Safely rebuild and deploy the NixOS system. Use when asked to rebuild, switch, deploy, apply configuration, or activate changes. |
Rebuild
阶段 1:前置检查
.claude/skills/run-nixos-config/validate.sh
nix flake check
git status
验证脚本先检查所有可部署机器都有已跟踪的 machines/<machine>/hardware-configuration.nix(排除仅求值的 ci 和 _template),再从当前 checkout 完整求值。它不依赖 /etc/nixos 中私有的 local.nix 或 hardware-gpu.nix。
阶段 2:构建验证
当前机器:
nixos-rebuild build --flake /etc/nixos#nixos
其他机器将 nixos 替换为实际 flake 输出名 <machine>;不要使用 host、default 或主机名猜测输出。失败 → 进入 /debug。
阶段 3:切换
sudo nixos-rebuild switch --flake /etc/nixos#nixos
部署其他机器时同样使用实际的 /etc/nixos#<machine> 输出;ci 仅求值,不可切换。
阶段 4:验证
systemctl --failed
journalctl -u greetd -b
安全规则
- 绝不在
nix flake check 失败时 switch
- 绝不在构建失败时尝试
switch
- 内核/initrd 变更 → 用
boot 而非 switch(重启后生效)
stateVersion → 警告用户不要改
回滚
sudo nixos-rebuild list-generations
sudo nixos-rebuild switch --rollback
特殊场景
nixos-rebuild build --flake /etc/nixos#nixos
sudo nixos-rebuild boot --flake /etc/nixos#nixos
nixos-rebuild build-vm --flake /etc/nixos#nixos
nix flake check