whatisgithub

What is nixpkgs?

ipetkov/nixpkgs — explained in plain English

Analysis updated 2026-07-09 · repo last pushed 2026-07-03

NixAudience · ops devopsComplexity · 4/5ActiveSetup · moderate

In one sentence

A giant collection of over 140,000 software packages you can install using the Nix package manager, with instructions describing exactly how to build each one reproducibly. It also powers NixOS, a Linux operating system.

Mindmap

mindmap
  root((repo))
    What it does
      140000 plus packages
      Builds software reproducibly
      Isolated build environments
    Foundation for NixOS
      Declarative server config
      Linux based OS
    Tech stack
      Nix language
      Nix package manager
      Automated build testing
      Public binary cache
    Use cases
      Set up new machines
      Identical dev environments
      Configure servers declaratively
    Audience
      Developers
      System administrators
      Teams needing consistency
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

Set up a new laptop with all your preferred development tools in a single command.

USE CASE 2

Ensure every team member's development environment is perfectly identical across machines.

USE CASE 3

Configure and deploy entire servers declaratively by writing a description of what the server should look like.

USE CASE 4

Install any of 140,000+ software packages reproducibly without worrying about conflicts.

What is it built with?

NixNix package managerNixOS

How does it compare?

ipetkov/nixpkgsipetkov/renovate-reproduction-flake-maintenancemoritzheiber/nix-home
LanguageNixNixNix
Last pushed2026-07-032024-06-162024-03-15
MaintenanceActiveDormantDormant
Setup difficultymoderateeasymoderate
Complexity4/51/53/5
Audienceops devopsdeveloperdeveloper

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

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires installing the Nix package manager first, which is an additional system component most users do not already have.

The instructions in this repo are open, but each software package you install keeps its own original license, check each one individually.

So what is it?

Nixpkgs is a massive collection of over 140,000 software packages that you can install using a tool called the Nix package manager. It also serves as the foundation for NixOS, which is a Linux-based operating system. Instead of hunting down installers or worrying about software conflicts, users can pull from this centralized library to get the programs they need running on their machines. At its core, this repository is a giant rulebook written in the Nix programming language. Each "rule" describes exactly how to build, configure, and install a specific piece of software. When you ask Nix to install something, it reads these rules, fetches the necessary source code, and builds the package in an isolated environment. This approach ensures that software installations are reproducible, meaning the same package will build the exact same way every time, regardless of where you run it. The project also includes automated systems that continuously build and test these packages, storing the finished results in a public cache so they are ready to download. This project is used by developers, system administrators, and anyone who wants a reliable way to manage software across different machines. For example, a developer could use it to set up a new laptop with all their preferred tools in a single command, or a team could ensure that every member's development environment is perfectly identical. System administrators use the NixOS side of the project to configure entire servers declaratively, meaning they write a file describing what the server should look like, and the system makes it happen. The project is notable for its scale and community involvement. It is one of the most active repositories on GitHub by contribution volume, which makes sense given that it tracks how to build tens of thousands of independent software projects. The files in this repository are just the instructions and configurations, while the actual software you install retains its own original license.

Copy-paste prompts

Prompt 1
Help me write a Nix shell.nix file using nixpkgs that sets up a development environment with Node.js 20, PostgreSQL, and Redis so my whole team gets the same setup.
Prompt 2
Show me how to use nixpkgs to install a specific version of Python and a set of Python packages reproducibly on my new laptop with a single command.
Prompt 3
I want to configure a Linux server declaratively using NixOS and nixpkgs. Help me write a configuration file that installs nginx, PostgreSQL, and a firewall, and explain how to deploy it.
Prompt 4
Help me understand how nixpkgs builds packages in isolated environments and why that makes installations reproducible. Walk me through a simple example of building a package using a nixpkgs derivation.

Frequently asked questions

What is nixpkgs?

A giant collection of over 140,000 software packages you can install using the Nix package manager, with instructions describing exactly how to build each one reproducibly. It also powers NixOS, a Linux operating system.

What language is nixpkgs written in?

Mainly Nix. The stack also includes Nix, Nix package manager, NixOS.

Is nixpkgs actively maintained?

Active — commit in last 30 days (last push 2026-07-03).

What license does nixpkgs use?

The instructions in this repo are open, but each software package you install keeps its own original license, check each one individually.

How hard is nixpkgs to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is nixpkgs for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.