Claude Code Plugins

Community-maintained marketplace

Feedback

upgrade-nixos

@richardgill/nix
24
0

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 Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name upgrade-nixos
description 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

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

    nixos-version
    nix --version
    
  2. Identify version-pinned inputs in flake.nix that need updating:

    • nixpkgs (e.g., nixos-25.05nixos-25.11)
    • home-manager (e.g., release-25.05release-25.11)
    • nix-darwin (e.g., nix-darwin-25.05nix-darwin-25.11)
    • stylix (e.g., release-25.05release-25.11)
  3. 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
  4. Identify breaking changes that affect this config:

    • Scan modules for services/packages that might be affected
    • Key areas: Hyprland, Docker, Steam, Secure Boot, impermanence
  5. 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
  6. Execute upgrade (when user is ready):

    # Edit flake.nix with new versions
    just update        # Update flake.lock
    just check         # Build without applying (safe)
    just switch        # Apply the upgrade
    
  7. Post-upgrade verification:

    nixos-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 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.nix flake.lock

$ARGUMENTS