smithery/richardgill

upgrade-nixos

This skill upgrades NixOS to a new release version (e.g., 25.05 → 25.11). "move to nixos 25.11", "nixos release upgrade", "upgrade system version". Researches breaking changes, updates flake inputs, guides through upgrade. Not for flake.lock updates within same release (use upgrade-flake for that).

Installation

$ npx skills add smithery/richardgill --skill upgrade-nixos

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/richardgill.

npx skills add smithery/richardgill

Browse all from smithery/richardgill

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,450 B
  • docs SUMMARY.md 403 B

History

  1. First recorded snapshot · 0 installs

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

  1. Check current state

``bash nixos-version nix --version ``

  1. Identify version-pinned inputs in flake/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)

  1. 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

  1. Identify breaking changes that affect this config:

- Scan modules for services/packages that might be affected - Key areas: Niri, Docker, Steam, Secure Boot, impermanence

  1. Create upgrade plan (use creating-plans skill):

- Save to overlay/issues/NN-nixos-<version>-upgrade/plan.md - Include exact file changes with line numbers - Include verification commands - Include rollback instructions

  1. Execute upgrade (when user is ready):

``bash # Edit flake/flake.nix with new versions just update # Update flake.lock just check # Build without applying (safe) just switch # Apply the upgrade ``

  1. Post-upgrade verification:

``bash nixos-version nix --version docker --version systemctl status docker tailscaled niri --version ``

What stays pinned (don't change)

  • lanzaboote - explicit version pin (e.g., v0.4.2), not tied to NixOS releases
  • nixpkgs-unstable - always tracks unstable
  • Inputs that follow nixpkgs - automatically updated

Rollback

Print out the instructions to:

sudo nixos-rebuild switch --rollback
git checkout flake/flake.nix flake/flake.lock

$ARGUMENTS