20

How do I make sure that all packages I install on my system nixos installation (i.e. packages listed in /etc/nixos/configuration.nix, which I install using sudo nixos-rebuild switch) are using the latest (unstable) version of nixos/nixpkgs?

sid-kap
  • 784
  • 8
  • 16

2 Answers2

27

As explained in the manual's section on upgrading, if you issue the following command as root:

nix-channel --list

you will most likely see something like the following (if you were following the 16.09 branch for instance):

nixos https://nixos.org/channels/nixos-16.09

By issuing the following command (still as root):

nix-channel --add https://nixos.org/channels/nixos-unstable nixos

you will remove the 16.09 channel and replace it with nixos-unstable.

Now this is not enough yet. To really update your system, you need one last command:

nixos-rebuild switch --upgrade

which is going to rebuild your system with your current configuration and updated packages from the channel you switched to.

musicmatze
  • 3,603
  • 6
  • 26
  • 43
Zimm i48
  • 2,393
  • 12
  • 23
3

Run the following commands:

sudo nix-channel --add https://nixos.org/channels/nixos-unstable
sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable

Note that the sudo is required: if you don't use sudo, it will only affect user-level packages (i.e. things you install using nix-env -i), not system-level packages.

Jan Tojnar
  • 4,640
  • 3
  • 25
  • 44
sid-kap
  • 784
  • 8
  • 16
  • 1
    What's the difference between the two channels? – Sridhar Ratnakumar Jan 24 '18 at 19:43
  • I think one is for the core Nixos operating system, the other is for the additional software you install. – sid-kap Jan 25 '18 at 22:44
  • 1
    nixos is typically package set for NixOS, nixpkgs is package set when you have nix installed as package manager on non NixOS distro. They are built from the same repo. https://hydra.nixos.org/jobset/nixos/release-19.03#tabs-configuration https://hydra.nixos.org/jobset/nixpkgs/nixpkgs-19.03-darwin#tabs-configuration – spinus Jun 16 '19 at 10:18