fasterthanlime , Englisch
@fasterthanlime@hachyderm.io avatar

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?

Kiskae ,
@Kiskae@hachyderm.io avatar

@fasterthanlime iirc https://github.com/nix-community/nix-eval-jobs has an option to skip trying to evaluate things that are already cached.

msfjarvis ,
@msfjarvis@androiddev.social avatar

@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 OP ,
@fasterthanlime@hachyderm.io avatar

@msfjarvis specifically "all the inputs" also means the entire toolchain, all my crate dependencies, etc.

msfjarvis ,
@msfjarvis@androiddev.social avatar

@fasterthanlime assuming you're using Crane, then that's correct.

fasterthanlime OP ,
@fasterthanlime@hachyderm.io avatar

@msfjarvis (I am)

ivan ,
@ivan@hachyderm.io avatar

@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

  • Alle
  • Abonniert
  • Moderiert
  • Favoriten
  • random
  • haupteingang
  • Alle Magazine