Nixpkgs: Difference between revisions

imported>Nix
m add categories: Nix and Software
Weijia (talk | contribs)
Hide translation pages in the prefix index
 
(12 intermediate revisions by 10 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].
<languages/>
<translate>
<!--T: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 [[NixOS Foundation]].


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.
<!--T:2-->
To search among available packages and options, see [[Searching packages]].


== Subpages ==
<!--T:3-->
As highlighted in [https://nixos.org/blog/announcements/2024/nixos-2411/ the announcement] of the NixOS 24.11 release, ''"NixOS is already known as [https://repology.org/repositories/statistics/newest the most up to date distribution] while also being [https://repology.org/repositories/statistics/total the distribution with the most packages]."'' This is thanks to the community's continued dedication to making Nixpkgs the preeminent Linux package repository.


== Subpages == <!--T:4-->
<!--T:5-->
There are a number of articles especially related to working with <tt>nixpkgs</tt>:
There are a number of articles especially related to working with <tt>nixpkgs</tt>:
{{Special:PrefixIndex/{{FULLPAGENAME}}/ |hideredirects=1 |stripprefix=1}}
{{Special:PrefixIndex/Nixpkgs/ |hideredirects=1 |stripprefix=1 |translate-hidetranslations=1}}
 
== Channels ==
 
{{main|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 [https://nixos.org/hydra/manual/#idm140737315980672 nixos.org hydra instance] and the number of updates propagated to the channel.
== Releases == <!--T:6-->


For [[Nix]] users, <code>nixpkgs-unstable</code> is the bleeding-edge, where packages pass only basic build tests and are upgraded continuously.
<!--T:7-->
{{main|Channel branches}}


For [[NixOS]] users, <code>nixos-unstable</code> 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).
<!--T:8-->
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.


Both [[Nix]] and [[NixOS]] users can use stable channels - the latest being {{nixos:latest}} - to receive only conservative updates for fixing critical bugs and security vulnerabilities.  
<!--T:9-->
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 more information on channels and how to select the appropriate channel for your purposes, see the [[Nix Channels]] article.
<!--T:10-->
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.


== Alternatives ==
<!--T:11-->
Both [[NixOS]] and [[Nix]] users can use stable channel branches (see https://status.nixos.org/ for the current channels) 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.


Due to the fact that nixpkgs is ''only'' a nix expression it is possible to extend or replace the logic with your own sources.
<!--T:12-->
In fact, there are a number of extensions as well as complete replacements for '''Nixpkgs''', see the [[Alternative Package Sets]] article.
Using stable channels on NixOS is comparable to the user experience on other Linux distributions.


== See also ==
== Alternatives == <!--T:13-->


* [https://www.youtube.com/watch?v=SoHtccHNOJ8 A presentation on NixOps by Kim Lindberger (talyz) - Oslo NixOS MiniCon, March 2020]
<!--T:14-->
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.
</translate>


[[Category:Pedias]]
[[Category:Pedias]]