nix

Develop with Nix including packages, flakes, NixOS, and derivations. Activate when working with .nix files, flake.nix, flake.lock, or user mentions Nix, nixpkgs, NixOS, derivations, flakes, nix-shell, nix develop, home-manager, or packaging.

$ Installer

git clone https://github.com/majiayu000/claude-skill-registry /tmp/claude-skill-registry && cp -r /tmp/claude-skill-registry/skills/development/nix ~/.claude/skills/claude-skill-registry

// tip: Run this command in your terminal to install the skill


name: nix description: Develop with Nix including packages, flakes, NixOS, and derivations. Activate when working with .nix files, flake.nix, flake.lock, or user mentions Nix, nixpkgs, NixOS, derivations, flakes, nix-shell, nix develop, home-manager, or packaging.

Nix Development

Research-first Nix development using parallel DeepWiki queries for accurate, up-to-date information.

Workflow

1. IDENTIFY  → Match question to relevant repos
2. QUERY     → Launch parallel subagents to query DeepWiki
3. SYNTHESIZE → Combine results into actionable guidance

Repo Routing

Language & Concepts

TopicRepos to Query
Nix language, builtins, syntaxNixOS/nix.dev
Attribute sets, functions, let bindingsNixOS/nix.dev
Lazy evaluation, recursionNixOS/nix.dev
Derivations (concept)NixOS/nix.dev
Nix store, paths, hashesNixOS/nix.dev
String interpolation, multiline stringsNixOS/nix.dev
Path handling, ./. vs toStringNixOS/nix.dev
Import, imports, IFDNixOS/nix.dev
lib functions (mkIf, mkOption, etc.)NixOS/nixpkgs, NixOS/nix.dev
Nix REPL, nix evalNixOS/nix.dev

Packaging

TopicRepos to Query
stdenv, mkDerivationNixOS/nixpkgs
Build phases (configure, build, install, check)NixOS/nixpkgs
Fetchers (fetchFromGitHub, fetchurl, fetchgit)NixOS/nixpkgs
Dependencies (buildInputs, nativeBuildInputs, propagatedBuildInputs)NixOS/nixpkgs
Patches, substituteInPlace, patchShebangsNixOS/nixpkgs
Wrappers (makeWrapper, wrapProgram, symlinkJoin)NixOS/nixpkgs
Meta attributes, licenses, maintainersNixOS/nixpkgs
Creating packages from URLsnix-community/nix-init, NixOS/nixpkgs
Cross-compilation, pkgsCrossNixOS/nixpkgs
Static builds, pkgsStatic, pkgsMuslNixOS/nixpkgs
Trivial builders (writeShellScript, writeText, runCommand)NixOS/nixpkgs
Passthru attributes, testsNixOS/nixpkgs

Language-Specific Builders

TopicRepos to Query
Rust (buildRustPackage, cargoHash)NixOS/nixpkgs
Go (buildGoModule, vendorHash)NixOS/nixpkgs
Python (buildPythonPackage, buildPythonApplication)NixOS/nixpkgs
Node.js (buildNpmPackage, node2nix)NixOS/nixpkgs
Haskell (haskellPackages, cabal2nix)NixOS/nixpkgs
Java, Maven, GradleNixOS/nixpkgs
C/C++ (cmake, meson, autotools)NixOS/nixpkgs

Flakes

TopicRepos to Query
Flake basics, inputs, outputsNixOS/nix.dev
Flake templates, initNixOS/nix.dev
Flake modules, compositionhercules-ci/flake-parts
perSystem, multi-platformhercules-ci/flake-parts
Flake overlayshercules-ci/flake-parts, NixOS/nix.dev
Flake checks, nix flake checkNixOS/nix.dev, hercules-ci/flake-parts
Flake apps, nix runNixOS/nix.dev
Flake lock, updating inputsNixOS/nix.dev
follows, input overridesNixOS/nix.dev
Flake-compat (legacy support)NixOS/nix.dev

Development

TopicRepos to Query
Development shells (mkShell, devShells)NixOS/nixpkgs, NixOS/nix.dev
nix develop, nix-shellNixOS/nix.dev
direnv integrationNixOS/nix.dev
Environment variablesNixOS/nixpkgs

Overrides & Customization

TopicRepos to Query
override, overrideAttrsNixOS/nixpkgs
OverlaysNixOS/nixpkgs, NixOS/nix.dev
packageOverridesNixOS/nixpkgs
Fixed-point evaluationNixOS/nix.dev

NixOS & System Config

TopicRepos to Query
NixOS modules, optionsNixOS/nix.dev
NixOS configurationNixOS/nix.dev
systemd servicesNixOS/nix.dev
Users, groups, permissionsNixOS/nix.dev
Networking, firewallNixOS/nix.dev
Boot, GRUB, systemd-bootNixOS/nix.dev
Filesystems, partitionsNixOS/nix.dev

Home Manager

TopicRepos to Query
Home-manager basics, installationnix-community/home-manager
User environment, dotfilesnix-community/home-manager
Home-manager modules, optionsnix-community/home-manager
Programs configuration (git, vim, etc.)nix-community/home-manager
Home-manager + NixOSnix-community/home-manager, NixOS/nix.dev
Home-manager + nix-darwinnix-community/home-manager, nix-darwin/nix-darwin
Home-manager standalonenix-community/home-manager

macOS (nix-darwin)

TopicRepos to Query
nix-darwin basics, installationnix-darwin/nix-darwin
macOS system configurationnix-darwin/nix-darwin
Darwin modules, optionsnix-darwin/nix-darwin
Homebrew integrationnix-darwin/nix-darwin
macOS services, launchdnix-darwin/nix-darwin
Darwin + home-managernix-darwin/nix-darwin, NixOS/nix.dev

Contributing & Tooling

TopicRepos to Query
Updating package versions/hashesMic92/nix-update
Testing nixpkgs changesMic92/nixpkgs-review
nixpkgs contribution workflowMic92/nix-update, Mic92/nixpkgs-review
pkgs/by-name structureNixOS/nixpkgs

Testing & CI

TopicRepos to Query
NixOS tests, nixosTestNixOS/nixpkgs, NixOS/nix.dev
VM tests, runNixOSTestNixOS/nixpkgs
Package tests, passthru.testsNixOS/nixpkgs
Hydra CINixOS/nix.dev
GitHub Actions with NixNixOS/nix.dev

Containers & Images

TopicRepos to Query
Docker images, dockerToolsNixOS/nixpkgs
OCI images, buildImageNixOS/nixpkgs
Minimal Docker images, streamLayeredImageNixOS/nixpkgs
VM images, disk imagesNixOS/nixpkgs
ISO imagesNixOS/nixpkgs

Debugging & Maintenance

TopicRepos to Query
Build failures, debuggingNixOS/nixpkgs, NixOS/nix.dev
Garbage collection, nix-collect-garbageNixOS/nix.dev
Binary caches, substituters, CachixNixOS/nix.dev
Nix profiles, generationsNixOS/nix.dev
Nix daemon, nix.confNixOS/nix.dev
Sandboxing, pure evaluationNixOS/nix.dev
Reproducibility, content-addressingNixOS/nix.dev

Query multiple repos when topics overlap.

Parallel DeepWiki Queries

Launch subagents to query relevant repos simultaneously:

// Single message with multiple parallel Task calls:
Task(
  subagent_type="Explore",
  model="haiku",
  prompt="Use mcp__deepwiki__ask_question to query repo 'NixOS/nixpkgs' with question: '<USER_QUESTION>'. Return the key findings."
)

Task(
  subagent_type="Explore",
  model="haiku",
  prompt="Use mcp__deepwiki__ask_question to query repo 'NixOS/nix.dev' with question: '<USER_QUESTION>'. Return the key findings."
)

Example Query Patterns

"How do I package a Rust CLI tool?"

→ Query NixOS/nixpkgs: "How does buildRustPackage work? What attributes are required?"
→ Query nix-community/nix-init: "How to generate a Rust package derivation from a GitHub URL?"

"How do I create a flake with multiple systems?"

→ Query NixOS/nix.dev: "How do flakes handle multiple systems?"
→ Query hercules-ci/flake-parts: "How to use perSystem for multi-platform flakes?"

"How do I update a package in nixpkgs?"

→ Query Mic92/nix-update: "How to use nix-update to bump package versions?"
→ Query Mic92/nixpkgs-review: "How to test package changes with nixpkgs-review?"

"How do I override a package?"

→ Query NixOS/nixpkgs: "How do override and overrideAttrs work?"
→ Query NixOS/nix.dev: "What are overlays and how to use them?"

DeepWiki Repos

RepoBest For
NixOS/nix.devNix language, tutorials, flake basics, NixOS
NixOS/nixpkgsPackage builders, stdenv, overrides, packaging patterns
nix-community/nix-initAuto-generating derivations from URLs
nix-community/home-managerUser environment, dotfiles, program configs
Mic92/nix-updateBumping versions and updating hashes
Mic92/nixpkgs-reviewTesting PRs and local changes
hercules-ci/flake-partsModular flake configuration, perSystem
nix-darwin/nix-darwinmacOS system configuration, Darwin modules, launchd