upgrade-nixos

Upgrade NixOS releases by updating flake inputs and handling breaking changes.

37|1|Updated Sep 27, 2025
One-click install
npx skills add https://github.com/richardgill/nix --skill upgrade-nixos
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: upgrade-nixos
Source: https://github.com/richardgill/nix/tree/main/.claude/skills/upgrade-nixos
Command: npx skills add https://github.com/richardgill/nix --skill upgrade-nixos

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a structured approach to upgrading NixOS releases, including assessing current state, pinning inputs, researching breaking changes, planning, executing, and validating, with rollback guidance.

Core Features & Use Cases

  • Release-aware upgrades: Pin and upgrade flake inputs (nixpkgs, home-manager, nix-darwin, stylix) to a target release.
  • Change impact research: Identify breaking changes that affect your config and workflows.
  • Plan-driven execution: Create a detailed upgrade plan with steps, verification checks, and safe rollback.
  • Use Case: Upgrading a NixOS server from 25.05 to 25.11 while validating services before and after.

Quick Start

Execute the upgrade flow locally by starting the process for a target release (e.g., "just upgrade-nixos"), then follow the prompts and verification steps.

Frequently Asked Questions about upgrade-nixos

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upgrade NixOS to a new release while safely handling breaking changes?

NixOS upgrades require updating version-pinned flake inputs and addressing breaking changes between releases. This Skill automates the process by assessing your current state, researching target release notes, generating a detailed upgrade plan with exact file changes, and providing verification and rollback steps to ensure your configuration remains valid.

What's involved in upgrading nixpkgs and home-manager flake inputs?

Upgrading flake inputs means pinning nixpkgs, home-manager, nix-darwin, and stylix to new release versions. This Skill identifies your current pins, updates them to target versions, detects breaking changes affecting your config, and generates step-by-step instructions with verification commands before and after the upgrade.

Can I rollback a NixOS upgrade if something breaks?

Yes. This Skill provides safe rollback guidance and optional rollback steps integrated into the upgrade process. By maintaining a clear upgrade plan and verification checks, you can identify issues early and revert to your previous configuration if needed.

Do I need flake inputs configured to use this upgrade process?

Yes. This Skill is designed for NixOS configurations using flake inputs for nixpkgs, home-manager, nix-darwin, and stylix. It does not apply to non-flake setups or configurations not using these inputs.

What breaking changes should I expect when upgrading NixOS major versions?

Breaking changes vary by release and affect package versions, configuration options, and module APIs. This Skill sources official release notes for your target version, identifies which breaking changes impact your specific configuration, and guides you through required adjustments.

How do I verify an upgrade was successful before committing?

This Skill generates verification commands specific to your configuration and services, allowing you to test functionality after updating inputs but before finalizing. It provides safe checks to validate that services start correctly and your workflows remain intact.