Open toonn opened 5 years ago
Nix will attempt to build "lightweight" packages like .drv
s locally, since for these packages the overhead of doing a remote build is usually greater than the cost of producing the package; see the preferLocalBuild = true
option in the manual: https://nixos.org/nix/manual
To force it to build everything remotely, what happens if you try this?
To build only on remote builders and disable building on the local machine, you can use the option --max-jobs 0.
I'm trying this currently, it hasn't failed so far. I wouldn't expect a build, no matter how small, to be attempted locally if the local system doesn't support all the requiredFeatures
though.
EDIT: The build finished successfully. As we expected.
I marked this as stale due to inactivity. → More info
I think this is still a relevant UX issue.
I marked this as stale due to inactivity. → More info
Yes preferLocalBuild
perhaps should cause an error if the local system doesn't support enough features, or else perhaps it should be ignored and a remote builder used anyways, but it should not do a build locally anyways ignoring the required features.
I marked this as stale due to inactivity. → More info
I have an old 32bit machine that's very low on memory. Many things don't build successfully and the things that do aren't built particularly fast. So I set up a remote builder:
One of the culprits re memory usage are haskell packages, probably because of GHC. So I gave all of them a "haskell" feature in an overlay:
However, when trying to build a haskell package, taskell in this case (sadly no 32bit binaries available), I get an error that seems to suggest a haskell package,
happy-1.19.9
in particular, is being built locally and then the local machine errors because it doesn't support the "haskell" feature:nix-info
output:Please let me know if there's more information I can provide, I really want taskell to run on this machine.