Hacker News new | past | comments | ask | show | jobs | submit login
NixOS Is Not Reproducible (linderud.dev)
6 points by sharjeelsayed 9 months ago | hide | past | favorite | 3 comments



Sure, and bit for bit reproducible builds are useful in their own right, but what Nix provides is (effectively) reproducible environments.

I used to be a huge fan of Arch as well, but NixOS has significantly boosted my productivity over the last 8 years or so due to the simple fact that my system state is fully declarative and read-only.

I never have to stop what I'm doing to fix an unexpected change or broken update. Worst case I roll back and solve it later so I can continue working.

It may also be important to point out that while Nix cannot guarantee reproducibility at the bit level on its own (and no single make-style build tool could) it gives you probably the best build environment conceived to date for eliminating environmental sources of non-deterministic build behavior so you can narrow it down to specific build tools, dependencies, etc

Also worth mentioning that there is a growing contingent in the Nix community actively working on increasing the number of truly reproducible builds in nixpkgs at a steady rate.

Once content addressed derivations become stable, that will be a really nice property for independently verifying the integrity of packages


As the article notes, NixOS' design increases reproducibility at certain levels and in certain respects, but not all. In particular, it doesn't have any magic for achieving the final condition for 'reproducible builds' as in reproducible-builds.org: guaranteeing that builds given the same sources produce bit-for-bit identical binaries. For that kind of reproducibility, NixOS is on the same quest as other distros like Debian and Fedora and Arch— and benefits from the work developers of those distros do with upstreams to eliminate non-determinism from their build processes and tools.


This article is getting hella flamed on the red site when I legitimately had conflated NixOS build reproducibility with NixOS being declarative.

Why people are denying this as a widespread thing and bringing functional programming into the mix (?) I have no clue.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: