Channel branches: Difference between revisions

Pigs (talk | contribs)
Reword and reorganize page, add section on flakes and usage in nixos
Lukec (talk | contribs)
m Reword the first two paragraphs
 
Line 1: Line 1:
Nix channels provide a structured and reliable way to access tested, verified package collections and [[NixOS]] configurations from the [[Nixpkgs]] repository. Rather than installing packages or building systems directly from the frequently updated <code>master</code> branch of Nixpkgs, which receives new commits before extensive testing. Because of this, users typically follow channel branches.
Nix channels provide a structured and reliable way to access package collections and [[NixOS]] configurations from the [[Nixpkgs]] repository. Unlike directly accessing the frequently updated <code>master</code> branch of Nixpkgs which receives new commits before extensive testing, a channel branch is a curated, tested snapshot of Nixpkgs. These branches only advance after builds and tests for a given commit have successfully passed on the [[Hydra]] continuous integration system and are made available via [https://channels.nixos.org channels.nixos.org].
 
A channel branch is a curated, tested snapshot of Nixpkgs, made available via [https://channels.nixos.org channels.nixos.org]. These branches only advance after builds and tests for a given commit have successfully passed on the [[Hydra]] continuous integration system.


Each channel branch follows a corresponding development branch to which new commits are first added. These new commits are then "verified" using the [[Hydra]] continuous integration system, where each channel branch corresponds to building any new or updated packages for that branch and perform the associated tests. A channel branch is updated once its builds succeeds for a new commit. Contrary to users of the development branches, channel branch users will benefit from both "verified" commits and pre-built packages from the [https://cache.nixos.org official public binary cache].
Each channel branch follows a corresponding development branch to which new commits are first added. These new commits are then "verified" using the [[Hydra]] continuous integration system, where each channel branch corresponds to building any new or updated packages for that branch and perform the associated tests. A channel branch is updated once its builds succeeds for a new commit. Contrary to users of the development branches, channel branch users will benefit from both "verified" commits and pre-built packages from the [https://cache.nixos.org official public binary cache].