Interesting, because the actual script really does only go over root’s channels: https://github.com/NixOS/nixpkgs/blob/1a3c95e3b23b3cdb26750621c08cc2f1560cb883/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh#L325
I was wrong about that partially though, looks like it will also update channels besides nixos
these days, if they are marked for doing so by upstream, so your unstable channel would not be outdated.
I have no idea why nix-shell
isn’t showing this behavior though.
Re the status quo
Non-flakes nix has footguns many of us have had to deal with, so we pre-warn those learning it now. Flakes have much fewer footguns, but due to the circumstance of it being such a comprehensive redesign it’s really hard to merge.
If you’re running up against the various UX issues a lot, I believe flakes are very usable without actually being particularly risky. Here’s a thread from yesterday asking about this problem: Is there a stable path for NixOS or is this all still an experiment?
The documentation story remains rocky. It’s a chicken-and-egg problem exacerbated by NixOS being rather unique and therefore many things just not working out of the box. It’s quite frankly amazing to me that the community is growing at the pace it is - it’s awesome, I believe there’s a decent chance we’ll make it through the growing pains.