3 ms·
Except that niv doesn't ensure pure evaluation, and thus a number of non-flakes, niv-friendly projects are unusable with flakes, and are often difficult to work
by predictabl3 3y ago
Except that niv doesn't ensure pure evaluation, and thus a number of non-flakes, niv-friendly projects are unusable with flakes, and are often difficult to work with otherwise due to their impurities.
It also can't do transient overrides which is quite literally the essential reason that Flakes is killer to me.
For example, I can cross-compile to riscv64-linux, including a bunch of 3rd party flakes repos *specifically* because I refer to them and then override their nixpkgs to point to my nixpkgs with various cross-compilation fixes.
Definitely not possible to do this with niv.
It also does nothing to solve the countless issues with channels that I've watched afflict countless new Nix users, every week, for 3+ years. [insert the usual 8-stop troubleshoot list when a user has any issue possibly related to channels]
- setheron 3y agoI tend to just override nixpkgs downstream. I think the situation you are describing is more power-user. Flakes to me introduced a lot of overhead beyond what niv can provide. I get 99% value just pinning my top level dependencies since most of the time I'm referring nixpkgs + 1-2 other packages.