Pinning nixpkgs for nixos-rebuild

Ok, so executing
nix-channel --add https://github.com/NixOS/nixpkgs/archive/hash-of-the-commit-to-pin.tar.gz nixos
(sudo nix-channel, if you save your channels as root), as buried in this reply Pinning nixpkgs in configuration.nix? · Issue #62832 · NixOS/nixpkgs · GitHub finally did the trick for me.

I would prefer not to have to pin the channel in this way, since I would like new nix-shell derivations to start out on the newest unstable, even if the system itself has to lag behind a bit.

Essentially, I would prefer for the system itself to be more like a nix-shell environment. Usually tracking unstable, but pinnable to a commit if something is broken, then updated if new features are wanted and the original reason for pinning is resolved.