
What I missed when I began using Nix and NixOS was a clear overview of how packages, channels, Hydra, the master branch and updates to channels relate to each other. I've noticed I am not the only one, given the amount of times these questions pop up. For now I propose to include this in the Nixpkgs manual, since this seems to be the best fit. However, I think it would be good to include this in either a new manual, i.e., a user manual, or an 'official' tutorial.
Nixpkgs is a collection of packages for the Nix package manager. It is periodically built and tested by the hydra build daemon as so-called channels. To get channel information via git, add nixpkgs-channels as a remote:
% git remote add channels git://github.com/NixOS/nixpkgs-channels.git
For stability and maximum binary package support, it is recommended to maintain
custom changes on top of one of the channels, e.g. nixos-15.09
for the latest
release and nixos-unstable
for the latest successful build of master:
% git remote update channels
% git rebase channels/nixos-15.09
For pull-requests, please rebase onto nixpkgs master
.
NixOS linux distribution source code is located inside
nixos/
folder.
- NixOS installation instructions
- Documentation (Nix Expression Language chapter)
- Manual (How to write packages for Nix)
- Manual (NixOS)
- Nix Wiki
- Continuous package builds for unstable/master
- Continuous package builds for 15.09 release
- Tests for unstable/master
- Tests for 15.09 release
Communication:
Description
Languages
Nix
96.3%
Shell
1.8%
Python
0.7%
Perl
0.4%
C
0.3%
Other
0.1%