nixpkgs

Create reproducible Nix package definitions using nixpkgs patterns like mkDerivation and overlays.

1|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/Jylhis/claude-marketplace --skill nixpkgs-jylhis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nixpkgs
Source: https://github.com/Jylhis/claude-marketplace/tree/main/plugins/nix-dev/skills/nixpkgs
Command: npx skills add https://github.com/Jylhis/claude-marketplace --skill nixpkgs-jylhis

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Use for nixpkgs package management patterns including mkDerivation, callPackage, overlays, override, overrideAttrs, buildPythonPackage, buildRustPackage, buildNpmPackage, buildGoModule, packageOverrides, derivations, fetchFromGitHub, fetchers, stdenv, build phases, nativeBuildInputs, buildInputs, cross-platform packaging, or wrapProgram.

Core Features & Use Cases

  • Explains and demonstrates common nixpkgs patterns such as mkDerivation, callPackage, overlays, and override/overrideAttrs for robust package composition.
  • Documents fetchers, stdenv.mkDerivation lifecycle, and cross-platform packaging to enable reproducible builds.
  • Provides examples for language-specific builders (Python, Rust, Go, Node) and how to structure derivations across projects.

Quick Start

Use this skill to draft a simple derivation with callPackage and an overlay to customize dependencies.

Frequently Asked Questions about nixpkgs

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

FAQPage Schema
How do I create a reproducible nixpkgs derivation using mkDerivation?

Create a reproducible nixpkgs derivation by defining build phases, nativeBuildInputs, and buildInputs within stdenv.mkDerivation, then resolve dependencies using callPackage to ensure consistent package composition.

What is the best way to override package dependencies in nixpkgs?

The best way to override package dependencies in nixpkgs is by using override and overrideAttrs to modify existing derivations, or by applying overlays to inject custom package versions into the package set.

How do I package Rust or Python applications with nixpkgs builders?

Package Rust or Python applications by leveraging language-specific nixpkgs builders like buildRustPackage and buildPythonPackage, which provide standardized build phases and dependency management for reproducible outputs.

When should I use overlays instead of callPackage in nixpkgs?

Use overlays when you need to globally modify or extend the nixpkgs package set across multiple projects, whereas callPackage is better suited for local dependency resolution within a single derivation scope.

Does nixpkgs support fetching sources from GitHub for reproducible builds?

Yes, nixpkgs supports fetching sources from GitHub using fetchFromGitHub and other built-in fetchers, which compute hashes to ensure source reproducibility across different build environments.

Can I customize build phases in stdenv.mkDerivation for cross-platform packaging?

Yes, you can customize build phases in stdenv.mkDerivation by overriding default phases like configurePhase or buildPhase, enabling tailored cross-platform packaging and specialized build workflows.