explaingit

nixos/nixpkgs

Analysis updated 2026-06-21

24,608NixAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

The official collection of over 120,000 package definitions for the Nix package manager, used to install software on Linux and macOS and to build NixOS, a Linux system where the entire configuration is declared in code.

Mindmap

mindmap
  root((Nixpkgs))
    What it does
      120000 packages
      Reproducible builds
      System rollback
      NixOS foundation
    Tech Stack
      Nix language
    Use Cases
      Install software
      Build NixOS systems
      Dev environment isolation
      Package contribution
    Audience
      Linux admins
      DevOps engineers
      Nix contributors
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Install any of 120,000+ software packages on Linux or macOS using Nix without affecting your existing system.

USE CASE 2

Declare your entire NixOS system configuration in code so you can reproduce or roll back to any state.

USE CASE 3

Contribute a new software package to the Nix ecosystem by writing a package definition in the Nix language.

USE CASE 4

Set up isolated development environments per project that do not conflict with system-wide packages.

What is it built with?

Nix

How does it compare?

nixos/nixpkgsnixos/nix.devmisterio77/nix-starter-configs
Stars24,6083,7723,681
LanguageNixNixNix
Setup difficultyhardeasyhard
Complexity4/51/53/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires learning the Nix language and understanding purely functional package management before being productive.

In plain English

Nixpkgs is the official package collection for the Nix package manager and the foundation of NixOS, a Linux operating system. It contains definitions for over 120,000 software packages, not the software itself, but instructions written in the Nix language that tell the Nix package manager exactly how to build and install each one. The central idea behind Nix is "purely functional" package management. Unlike traditional package managers that modify a shared system state, Nix builds each package in isolation and stores results in a content-addressed path. This means installing or upgrading one package cannot accidentally break another, and you can roll back to any previous state easily. NixOS extends this idea to an entire operating system: the whole system configuration, including services, users, and installed software, is declared in Nix expressions, so the system can always be reproduced exactly from source. You would use Nixpkgs if you want to install software via the Nix package manager on Linux or macOS, if you are running or building a NixOS system, or if you want to contribute a new package to the ecosystem. The repository is one of the most active on GitHub and is written entirely in the Nix language.

Copy-paste prompts

Prompt 1
Help me write a Nix derivation to package a Python application for submission to Nixpkgs.
Prompt 2
Show me how to add a new package to Nixpkgs that wraps a Go binary with its dependencies.
Prompt 3
How do I write a NixOS system configuration that declares all my services and installed software in one file?
Prompt 4
Help me create a shell.nix file for an isolated dev environment with specific versions of Node and Python.
Prompt 5
What is the correct way to override a Nixpkgs package to apply a patch or change a build option?

Frequently asked questions

What is nixpkgs?

The official collection of over 120,000 package definitions for the Nix package manager, used to install software on Linux and macOS and to build NixOS, a Linux system where the entire configuration is declared in code.

What language is nixpkgs written in?

Mainly Nix. The stack also includes Nix.

How hard is nixpkgs to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is nixpkgs for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub nixos on gitmyhub

Verify against the repo before relying on details.