Nixpkgs

From NixOS Wiki
Revision as of 08:24, 26 October 2024 by H7x4 (talk | contribs) (Fix typo)

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.

To search among available packages and options, see Searching packages.

As highlighted in the announcement of the NixOS 21.05 release, "NixOS is already known as the most up to date distribution and is in the top three by total number of packages." This is thanks to the community's continued dedication to making Nixpkgs the preeminent Linux package repository.

Subpages

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

Releases

Main article: Channel branches

The packages and modules hosted on Nixpkgs are distributed through various channel branches intended for particular use-cases. In practice they are differentiated by the level of testing updates must pass on the official nixos.org Hydra instance and the number of updates they receive.

For NixOS users, nixos-unstable channel branch is the rolling release, 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 running the NixOS installation steps are also tested).

For standalone Nix users, nixpkgs-unstable channel branch is the rolling release, where packages pass only basic build tests and are upgraded continuously.

Both NixOS and Nix users can use stable channel branches - the latest being nixos-23.11 - to receive only conservative updates for fixing critical bugs and security vulnerabilities. Stable channel branches are released bi-annually at the end of May and the end of November.

Using stable channels on NixOS is comparable to the user experience on other Linux distributions.

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.