Earlier quoted context omitted.
Right, but traditional nix doesn't make that easy (which is why niv and flakes exist).
I suppose you're just saying it's easier than this with flakes, but this isn't a flake is it? (Honestly so confused about it all, looking at trying out nix again after toying with it briefly years ago.) https://nix.dev/guides/recipes/sharing-dependencies#complete...
It tracks nixpkgs-23.11
Now at the bottom it links to an example of pinning without using flakes, but the page you linked directly does not pin nixpkgs.
Flakes pin by default, and defaults matter. Using flakes, anything that isn't explicitly listed with a hash to ensure it's unchanged must be explicitly listed as an input, and a lock file for the inputs is automatically generated.