4 ms·
Making it noticeable isn't going to get you closer to reproducible builds though. There is still a quite a lot of effort that needs to go into patching individu
by Foxboron 6y ago
Making it noticeable isn't going to get you closer to reproducible builds though. There is still a quite a lot of effort that needs to go into patching individual packages and fix the non-determinism introduced by the compilation process which NixOS can't solve by adding tricks.
And as an outsider I'm unable to read the RFC and understand what is going on and what tangible issues it solves for Nix.
- Ericson2314 6y agoThe Nix approach is any package-specific tricks are left to the plan writer, and Nix's job is to sandbox things. We ought to look things down further and further until build jobs can be deterministic by construction. Until that ideal is reached, you could call "leaving it to the plan writer" a cop-out, but what else is there to do? It's the stop-gap. The benefit of the new system is that all store paths can be content-addressed. That means the inputs of all build stems can be content-addressed, whereas before they might also be "input-addressed" paths whose contents are also a matter of trust. This means one takes "small step" rather than "big step" trust steps, and also that upstream non-determinism won't "pollute" downstream builds.