So I'm probably doing it wrong, right, but one of the (technical) downsides to nix is that I think it currently needs to fetch several gigabytes' worth of things from cache to finish evaluating and come to the conclusion that it.. doesn't need to do much at all?
@fasterthanlime you're not doing it wrong, Nix does bring in all inputs locally to determine that it already has the resultant derivation in the Nix Store. It feels a bit silly in practice but I can understand the technical problems behind it.
@fasterthanlime@msfjarvis apologize for being slightly pedantic here: when using flakes, nix requires downloading all flake inputs transitively before it can evaluate derivations.
Derivation inputs are only downloaded when trying to build the derivation.
Unless IFD (input from derivation) is triggered, you technically don’t need toolchains present just to evaluate things (eg via nix build .# --dry-run).
Happy to take a look if crane seems to be at fault triggering IFD