News for hackers. Stuff that matters.
Re:What Is Nix? by m_mueller on Wednesday May 20, 2020 @10:19PM (#23254238)
So I understand correctly from this that nix has no binary packages? If so, why not? To me, compiling from source is not strictly necessary to get reproduceability guarantees. It might actually be harmful if you're not carefully checksumming the build products (e.g. cosmic rays messing with complex builds).
Re:What Is Nix? by yakshaving_jgt on Wednesday May 20, 2020 @10:49PM (#23254373)
You do not understand correctly.

Nix users use binary caches[0] instead of building everything from source. You can use the binary cache provided by NixOS, or Cachix[1], or something you set up and host yourself, or all of the above.

[0]: https://nixos.wiki/wiki/Binary_Cache

[1]: https://cachix.org/

Re:What Is Nix? by m_mueller on Thursday May 21, 2020 @04:21AM (#23256022)
Then why would a build take so long as GP describes?
Re:What Is Nix? by yakshaving_jgt on Thursday May 21, 2020 @04:40AM (#23256144)
I can't imagine why some unknown people encountered difficulty building some unknown project.

We use Nix to build and deploy our big Haskell monolith along with the operating system itself, and all system dependencies, e.g., PostgreSQL, Redis, Grafana, collectd, influxdb, openssh, ejabberd, Elm applications, etc, and it works fabulously.

Re:What Is Nix? by illumin8 on Thursday May 21, 2020 @10:55AM (#23259086)
GP here. My guess is that they intentionally disabled binary caching because this is a financial application and they wanted to make sure no untrusted binaries got into the build pipeline.
Re:What Is Nix? by m_mueller on Friday May 22, 2020 @04:09AM (#23269724)
Thanks! That makes some sense. Though, I work for a financial service provider as well and have never found compile-from source to be solution to that problem. If you do have dependencies, whether you trust the sources or the binaries shouldn't really matter, as long as you trust the repositories where they come from. And if you don't trust it I wanna see the army of developers actually checking all the sources down to the system level.
Re:What Is Nix? by ryukafalz on Wednesday May 20, 2020 @10:53PM (#23254391)
I can't entirely speak for Nix, but I know they're fairly similar, so: Guix (and I'm pretty sure Nix) have optional binary packages. Realistically most users will use those, but the option to build from source is always there. So, while you say:

>To me, compiling from source is not strictly necessary to get reproduceability guarantees.

...I somewhat agree, but you do of course need to be able to build from source. And, in a system like Nix or Guix, you have an easy way to verify that a build and all its transitive dependencies are reproducible, if you have someone else's build to compare it against. See `guix challenge` for example: https://guix.gnu.org/manual/en/html_node/Invoking-guix-chall...