name: nyx-update description: Update Nyx flake inputs and rebuild. Use when updating nixpkgs, home-manager, hyprland, or other flake inputs to get new package versions or fixes. argument-hint: [input-name or "all"] user-invocable: true allowed-tools: Bash(nix flake update *), Bash(nix flake show), Bash(nix build *), Bash(./switch.sh), Bash(sudo nixos-rebuild *), Bash(sudo darwin-rebuild *), Bash(home-manager switch *), Bash(git diff *), Bash(git add *), Bash(git commit *)
The user wants to update their Nyx flake inputs.
Update options
Update all inputs
nix flake update
Update a single input
nix flake update nixpkgs
nix flake update home-manager
nix flake update hyprland
nix flake update nixvim
# etc.
Common inputs and what they affect
| Input | What updates |
|---|---|
nixpkgs |
All system and home packages |
home-manager |
Home-manager itself |
hyprland |
Hyprland compositor and plugins |
nixvim |
Neovim configuration framework |
agenix |
Secret management tool |
darwin |
nix-darwin (macOS) |
nix-homebrew |
Homebrew integration |
nixos-wsl |
WSL2 integration |
nix-on-droid |
Android Nix |
kmonad |
Keyboard remapping |
disko |
Disk partitioning |
Recommended update workflow
Update inputs:
nix flake update # or for a single input: nix flake update nixpkgsCheck what changed:
git diff flake.lockDry build to catch breakage before switching:
sudo nixos-rebuild dry-build --flake .#<hostname> # or for Darwin: sudo darwin-rebuild dry-build --flake .Apply if build succeeds:
./switch.shCommit the lock file update:
git add flake.lock git commit -m "flake: update inputs"
If something breaks after update
- Check if the issue is in
nixpkgsvs a specific input by updating selectively - Use
--show-traceto get full error context - Roll back to the previous lock file:
git checkout flake.lockthen rebuild - Check upstream changelogs: most inputs use GitHub releases or commit history
Checking current input versions
nix flake metadata
This shows all inputs and their current resolved revisions.