Nixpkgs

From NixOS Wiki
Revision as of 21:11, 19 November 2020 by Artturin (talk | contribs) (move contributing to its own subpage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Nixpkgs is the largest repository of Nix packages and NixOS modules. The repository is hosted on GitHub and maintained by the community, with official backing from the NixOS Foundation.

Channels

Main article: Nix Channels

The packages and modules hosted on Nixpkgs are sorted in various channels intended for various use-cases, and in practice are differentiated by the level of testing updates must pass on the official nixos.org hydra instance and the number of updates propagated to the channel.

For Nix users, nixpkgs-unstable is the bleeding-edge, where packages pass only basic build tests and are upgraded continuously.

For NixOS users, nixos-unstable is the bleeding-edge, where packages pass build tests and integration tests on a VM, and are tested from the perspective of being an operative system (this means things like the X server, KDE, various servers, and lower level details like installing bootloaders and runnning the nixos installation steps are also tested).

Both Nix and NixOS users can use stable channels - the latest being nixos-20.03 - to receive only conservative updates for fixing critical bugs and security vulnerabilities.

For more information on channels and how to select the appropriate channel for your purposes, see the Nix Channels article.

Alternatives

Due to the fact that nixpkgs is only a nix expression it is possible to extend or replace the logic with your own sources. In fact, there are a number of extensions as well as complete replacements for Nixpkgs, see the Alternative Package Sets article.

Subpages

There are a number of articles especially related to working with nixpkgs: