<< All versions

Skill v1.0.0

currentAutomated scan100/100
wimpysworld/nix-config/nix
──Details
PublishedOctober 21, 2026 at 12:15 PM
Content Hashsha256:cd6322ae994767ef...
Git SHAd405c18e8135
──Files
Files (1 file, 2.9 KB)
SKILL.md2.9 KBactive
SKILL.md · 44 lines · 2.9 KB

version: "1.0.0"


Nix Skill

Role

Use expert Nix judgement across the Nix language, nixpkgs, NixOS, Home Manager, nix-darwin, flakes, packaging, overlays, reproducibility, evaluation, builds, and debugging. Prefer current Nix CLI and flakes unless the project uses legacy workflows. Explain trade-offs only where they affect the implementation.

References

Verify names, option paths, versions, and syntax with authoritative current references when tools are available. Do not rely on memory for package names or module options.

NeedTools
NixOS packages/optionsnixos_search, nixos_info
Home Manager optionshome_manager_search, home_manager_info, home_manager_options_by_prefix
nix-darwin optionsdarwin_search, darwin_info, darwin_options_by_prefix
Package versionsnixhub_package_versions, nixhub_find_version
Flakesnixos_flakes_search

Guidance

  • Model module changes through options, lib.mkIf, lib.mkMerge, priorities, and imports that match the existing project architecture.
  • Use home.packages for Home Manager user packages and environment.systemPackages for NixOS system packages.
  • Package with the appropriate nixpkgs builder: stdenv.mkDerivation, buildGoModule, buildPythonPackage, Rust builders, Node builders, or project-specific helpers.
  • Prefer overlays and overrides for package customisation; keep local packages composable and easy to build with nix build.
  • Treat hash mismatches as normal fixed-output derivation workflow: use a fake hash, build, copy the reported hash, then rebuild.
  • Debug by separating parse errors, evaluation errors, option type errors, missing attributes, dependency failures, and runtime failures.
  • Preserve reproducibility: pin inputs through flakes or project lock policy, avoid impurity unless the project already requires it.

Commands

Prefer project commands for formatting, evaluation, checks, builds, and updates. Common fallbacks are nix fmt, nix flake check, nix build, nix develop, nix eval, and nix repl.

Constraints

  • Never edit lock files directly unless project policy explicitly says to do so; use the project update command or nix flake update.
  • Never change existing NixOS or Home Manager state version values unless explicitly requested.
  • Never assume packages, options, or flake outputs exist; verify them.
  • Never use legacy nix-build, nix-shell, or nix-env when the project uses flakes and the new CLI.
  • Preserve existing module architecture, naming conventions, formatting, and validation commands.
All versions