Channel branches: Difference between revisions

wording and formatting
use and explain a more distinctive terminology for how releases are produced
Line 1: Line 1:
Nixpkgs is the Git repository containing all package reciptes and NixOS module declarations. Installing packages directly from the <code>master</code> branch of the Nixpkgs repository is possible but risky, since Git commits are merged into <code>master</code> before being heavily tested. That's where channel branches are useful.
Nixpkgs is the Git repository containing all package reciptes and NixOS module declarations. Installing packages directly from the <code>master</code> branch of the Nixpkgs repository is possible but risky, since Git commits are merged into <code>master</code> before being heavily tested. That's where channel branches are useful.


A "channel" is a name for the latest "verified" git commits in Nixpkgs. Each channel has a different definition of what "verified" means. Each time a new git commit is verified, the channel declaring this verification gets updated. Contrary to a user of the git master branch, a channel user will benefit from both verified commits and binary packages from the binary cache.
A "channel branch" is Git branch with the "verified" Git commits in Nixpkgs that is exposed on [https://channels.nixos.org channels.nixos.org]. There is also a [https://status.nixos.org channel status webpage] that tracks the age of channel branches.


Channels are reified as git branches in the [https://github.com/nixos/nixpkgs nixpkgs] repository and as disk images in the [https://nixos.org/channels/ channels webpage]. There is also the handy [https://status.nixos.org/ nix channel status webpage] that tracks the age of channels.
Each channel branch has a different definition of what "verified" means. Each time a new Git commit is "verified", the corresponding channel branch gets updated. Contrary to users of the <code>master</code> branch, channel branch users will benefit from both "verified" commits and pre-built packages from the [https://cache.nixos.org public binary cache].


There are several channels, each with its own use case and verification phase.
There are several types of channel branches, each with its own use case and verification phase.


== The official channels ==
== The official channels ==