nix

Resolve Nix development questions by synthesizing parallel DeepWiki queries into actionable guidance.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/anntnzrb/.claude --skill nix-anntnzrb
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nix
Source: https://github.com/anntnzrb/.claude/tree/main/skills/nix
Command: npx skills add https://github.com/anntnzrb/.claude --skill nix-anntnzrb

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

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.

Core Features & Use Cases

  • ParallelWiki-Style Research: Use parallel subagents to gather up-to-date nix guidance.
  • Repo Routing: Guidance on where to look for language-specific nix patterns and packaging practices.
  • Workflow: Research-first approach to plan nix derivations and packaging tasks.

Quick Start

Pose a Nix-related question (e.g., "How do I fetchFromGitHub in a flake?") to trigger parallel subagent research and synthesis.

Frequently Asked Questions about nix

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

FAQPage Schema
How do I set up a Nix development environment with flakes?

Nix flakes provide reproducible development environments by declaring dependencies in flake.nix. Create a flake.nix file, define your derivations and inputs, then run `nix flake update` to lock versions in flake.lock, and `nix develop` to enter the environment with all dependencies available.

What's the difference between derivations and packages in Nix?

Derivations are Nix's low-level build specification defining how to fetch, configure, and compile software from source. Packages are higher-level abstractions built from derivations that simplify dependency management and provide pre-configured, reusable software definitions for end users.

How do I package a project with fetchFromGitHub in a Nix derivation?

Use fetchFromGitHub in your derivation's src attribute to fetch source code directly from GitHub repositories. Specify the owner, repo, rev (commit/tag), and sha256 hash; Nix automatically clones and verifies the source, making it available for the build phases.

Can I use Nix flakes to manage NixOS system and home configurations together?

Yes. Flakes can define both NixOS system configurations and Home Manager profiles in a single flake.nix. This approach centralizes dependency management, pins versions across system and user environments, and enables reproducible multi-machine setups with shared declarative configuration.

Why would I use Nix derivations instead of traditional package managers?

Nix derivations ensure reproducible builds by capturing all dependencies, build inputs, and environment variables in a declarative specification. This eliminates "works on my machine" problems, enables rollbacks, and allows multiple versions of the same package to coexist without conflicts.

What should I do if a Nix derivation build fails with missing dependencies?

Check the derivation's buildInputs and nativeBuildInputs to ensure all required tools are declared. Use `nix-shell` or `nix develop` to inspect the build environment interactively, run `nix flake check` to validate your flake, and consult nixpkgs for correct package names and derivation patterns.