Agent skill
upgrade-nixos
Upgrade NixOS to a new release version (e.g., 25.05 → 25.11) - researches breaking changes, updates flake inputs, and guides through the upgrade process
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/design/upgrade-nixos-richardgill-nix-464345a9
SKILL.md
Upgrade NixOS Release
Upgrade NixOS to a new stable release version. This involves updating version-pinned flake inputs and handling any breaking changes.
Process
-
Check current state
bashnixos-version nix --version -
Identify version-pinned inputs in flake.nix that need updating:
nixpkgs(e.g.,nixos-25.05→nixos-25.11)home-manager(e.g.,release-25.05→release-25.11)nix-darwin(e.g.,nix-darwin-25.05→nix-darwin-25.11)stylix(e.g.,release-25.05→release-25.11)
-
Research the target release
- Use web search to find the latest stable NixOS release
- Check release notes for breaking changes relevant to this config
- Verify release branches exist for home-manager, stylix, nix-darwin
-
Identify breaking changes that affect this config:
- Scan modules for services/packages that might be affected
- Key areas: Hyprland, Docker, Steam, Secure Boot, impermanence
-
Create upgrade plan (use creating-plans skill):
- Save to
scratch/plans/YYYY-MM-DD-nixos-<version>-upgrade.md - Include exact file changes with line numbers
- Include verification commands
- Include rollback instructions
- Save to
-
Execute upgrade (when user is ready):
bash# Edit flake.nix with new versions just update # Update flake.lock just check # Build without applying (safe) just switch # Apply the upgrade -
Post-upgrade verification:
bashnixos-version nix --version docker --version systemctl status docker tailscaled hyprctl version
What stays pinned (don't change)
lanzaboote- explicit version pin (e.g., v0.4.2), not tied to NixOS releasesnixpkgs-unstable- always tracks unstable- Inputs that
follownixpkgs - automatically updated
Rollback
Print out the instructions to:
sudo nixos-rebuild switch --rollback
git checkout flake.nix flake.lock
$ARGUMENTS
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?