Understanding nix-channel --update

The contents of my ~/.nix-channels is https://nixos.org/channels/nixos-19.09 nixpkgs. When I nix-channel --update, it creates a nixpkgs entry in my new channels directory, but also a nixos-19.03 entry. I don’t understand where the latter comes from. Here is a session that shows the situation:

[20:37:52] jan@toastbrot
~: cat .nix-channels
https://nixos.org/channels/nixos-19.09 nixpkgs

[20:38:17] jan@toastbrot
~: l /nix/var/nix/profiles/per-user/jan/channels
lrwxrwxrwx 1 jan jan 16  3. Nov 16:21 /nix/var/nix/profiles/per-user/jan/channels -> channels-37-link

[20:39:04] jan@toastbrot
~: l /nix/var/nix/profiles/per-user/jan/channels-37-link
lrwxrwxrwx 1 jan jan 60  3. Nov 16:21 /nix/var/nix/profiles/per-user/jan/channels-37-link -> /nix/store/799lv2lc16vl3g5yxrza7gqkv48y4vpx-user-environment

[20:39:10] jan@toastbrot
~: l /nix/var/nix/profiles/per-user/jan/channels-37-link/
total 16K
dr-xr-xr-x 1 root root 36  1. Jan 1970  binary-caches
lrwxrwxrwx 1 root root 75  1. Jan 1970  home-manager -> /nix/store/d0pahnkkqwj54krwg7pwa659gyip70s3-home-manager-19.09/home-manager
lrwxrwxrwx 1 root root 60  1. Jan 1970  manifest.nix -> /nix/store/v5j49pm01vzfsyv9qz0cas2g84pfrphj-env-manifest.nix
lrwxrwxrwx 1 root root 92  1. Jan 1970  nixos-19.03 -> /nix/store/70k6700fgx910b30dk4w6mmyk2b1mzm9-nixos-19.03-19.03.173553.6420e2649fa/nixos-19.03
lrwxrwxrwx 1 root root 82  1. Jan 1970  nixpkgs -> /nix/store/113z6gh2f3snwxc08pz51hqpp5ibghrh-nixpkgs-19.09.1019.c5aabb0d603/nixpkgs

[20:39:15] jan@toastbrot
~: nix-channel --update
unpacking channels...
created 6 symlinks in user environment

[20:40:00] jan@toastbrot
~: l /nix/var/nix/profiles/per-user/jan/channels
lrwxrwxrwx 1 jan jan 16 12. Nov 20:39 /nix/var/nix/profiles/per-user/jan/channels -> channels-38-link

[20:40:09] jan@toastbrot
~: l /nix/var/nix/profiles/per-user/jan/channels-38-link/
total 16K
dr-xr-xr-x 1 root root 36  1. Jan 1970  binary-caches
lrwxrwxrwx 1 root root 75  1. Jan 1970  home-manager -> /nix/store/d0pahnkkqwj54krwg7pwa659gyip70s3-home-manager-19.09/home-manager
lrwxrwxrwx 1 root root 60  1. Jan 1970  manifest.nix -> /nix/store/pfmwm99bsrj83y8znjc92ss50fxy5a1z-env-manifest.nix
lrwxrwxrwx 1 root root 92  1. Jan 1970  nixos-19.03 -> /nix/store/70k6700fgx910b30dk4w6mmyk2b1mzm9-nixos-19.03-19.03.173553.6420e2649fa/nixos-19.03
lrwxrwxrwx 1 root root 82  1. Jan 1970  nixpkgs -> /nix/store/q33svfgxd9m26y87s09krivv6jz0acv4-nixpkgs-19.09.1208.ef8c34c4721/nixpkgs

So in channels-38-link, nixpkgs points to a newer version than the one in channels-37-link which is what I expect. However, I also still have this nixos-19.03 entry in channels-38-link, although it’s not in ~/.nix-channels.

Does somebody know why I get a nixos-19.03 entry? BTW, I’m not using NixOS, but Nix 2.2 on Archlinux.

do

nix-channel --list
sudo nix-channel --list

to see everything that the update process will try to update.

1 Like