isn't it harder to track, compared to inputs and outputs in a flake? makes the distinction clear about what's included in nixpkgs and what I added myself.
Discussion
flakes also allow to pin version numbers, which increases reproduceability
i just pin nixpkgs if i want that... its usually more annoying than its worth though
flakes adds way more complexity than its worth... I never need all these fancy reproducibility features that just explodes complexity. i just don't get it. if people like them then fine, but I just don't need it or want it.
I've been using nix/nixos for 10 years just using nix shell. maybe I'm just not smart enough as to why I would need it. my projects are already are reproducible enough.
For me most of the value from flakes came from two things:
- Coherent setup across multiple computers (including home-manager, nix-darwin and nixOS of course, be it on servers or desktop)
- Reproducible dev envs without host contamination: this one was a blessing when working with a team on proprietary stuff with a bunch of very specifc deps/setup/etc.
never really been an issue for me.
If i need specific inputs not in nixpkgs just for my nix shell i just make a derivation in a file and callPackage in the nix shell.