Nixpkgs: Difference between revisions

From NixOS Wiki
adapt wording to more distinctive terminology
H7x4 (talk | contribs)
Add links for a few keywords
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''Nixpkgs''' is the largest repository of [[Nix]] packages and [[NixOS]] modules. The repository is [https://github.com/nixos/nixpkgs hosted on GitHub] and maintained by the community, with official backing from the [https://nixos.org NixOS Foundation].
'''Nixpkgs''' is the largest repository of [[Nix]] packages and [[NixOS]] modules. The repository is [https://github.com/nixos/nixpkgs 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 [https://nixos.org/blog/announcements.html#21.05  the announcement] of the NixOS 21.05 release, ''"NixOS is already known as [https://repology.org/repositories/statistics/newest the most up to date distribution] and is [https://repology.org/repositories/statistics/total 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.
As highlighted in [https://nixos.org/blog/announcements.html#21.05  the announcement] of the NixOS 21.05 release, ''"NixOS is already known as [https://repology.org/repositories/statistics/newest the most up to date distribution] and is [https://repology.org/repositories/statistics/total 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.
Line 13: Line 15:


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 [https://nixos.org/hydra/manual/#idm140737315980672 nixos.org Hydra instance] and the number of updates they receive.
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 [https://nixos.org/hydra/manual/#idm140737315980672 nixos.org Hydra instance] and the number of updates they receive.
For [[NixOS]] users, <code>nixos-unstable</code> channel branch is the rolling release, where packages pass build tests and [[NixOS VM tests|integration tests on a VM]], and are tested from the perspective of being an operative system (this means things like the [[Xorg|X server]], [[KDE]], various servers, and lower level details like installing [[Bootloader|bootloaders]] and running the NixOS installation steps are also tested).


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


For [[NixOS]] users, <code>nixos-unstable</code> 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 runnning the NixOS installation steps are also tested).
Both [[NixOS]] and [[Nix]] users can use stable channel branches - the latest being {{nixos:latest}} - 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.  


Both [[Nix]] and [[NixOS]] users can use stable channel branches - the latest being {{nixos:latest}} - to receive only conservative updates for fixing critical bugs and security vulnerabilities.  
Using stable channels on NixOS is comparable to the user experience on other Linux distributions.  


== Alternatives ==
== Alternatives ==

Latest revision as of 08:29, 26 October 2024

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.