| name | run-nixos-config |
| description | Validate, build, and deploy the NixOS configuration. Use when asked to run, build, check, validate, verify, test, or deploy the NixOS config. |
Run: NixOS Config
Paths relative to repo root.
Validate(任意装有 Nix 的 x86_64 Linux)
.claude/skills/run-nixos-config/validate.sh
.claude/skills/run-nixos-config/validate.sh --check statix
.claude/skills/run-nixos-config/validate.sh --check nixos-eval
.claude/skills/run-nixos-config/validate.sh --quick
完整流程依次运行 nix-fmt、statix、deadnix、shell-syntax 和 nix flake check。nixos-eval 开始前会检查每个可部署的 machines/<machine>/hardware-configuration.nix 已存在;ci(仅求值)和 _template 不参与硬件检查。
硬件配置由仓库直接跟踪并导入,因此完整求值只依赖当前 checkout,不要求宿主是 NixOS,也不读取 /etc/nixos 中私有的 local.nix 或 hardware-gpu.nix。
构建证明边界
validate.sh / nix flake check 会格式化、静态检查并求值 system.build.toplevel.drvPath,但不会实现完整系统 closure
- 只构建 Home Manager 包或单个派生只能证明该目标;不得表述为“完整系统构建通过”
- 完整构建使用
nix build --no-link .#nixosConfigurations.<machine>.config.system.build.toplevel 或 nixos-rebuild build
- 构建异常缓慢时先运行同一目标的
nix build --dry-run;它会显示待构建派生、下载路径和体积。需要实时日志时加 -L
Deploy(仅 NixOS)
当前机器的可执行部署命令:
./run.sh deploy --host nixos
sudo nixos-rebuild switch --flake /etc/nixos#nixos
其他可部署输出使用 /etc/nixos#<machine>;ci 仅供求值,不能部署。
Dev shell
nix --extra-experimental-features 'nix-command flakes' develop
注意事项
- nixfmt ≥ 1.3.0:裸 stdin 已废弃,驱动脚本会构建 flake formatter 并直接调用
nixfmt --check
- 新文件:Nix 的 Git flake 只看到已跟踪文件;任何新增模块、脚本或机器文件都必须先
git add
- 私有覆盖:
local.nix 与 hardware-gpu.nix 保持 gitignored、可选,不是仓库求值前提