Unable to load image

Big nerd fight over what "reproducible" means :marseynouautism: , NixOS fanboys go wild when an Archlinux maintainer kicks the bees nest. :marseybee: :marseylaptopangry2: :marseypenguin:

https://lobste.rs/s/jpoy4q/nixos_is_not_reproducible

Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

42
Jump in the discussion.

No email address required.

Jump in the discussion.

No email address required.

:marseygroom#erarch:

Jump in the discussion.

No email address required.

!slotsmb2000

Jump in the discussion.

No email address required.

!slots100


:#marseyviewerstaretalking:

Jump in the discussion.

No email address required.

Enjoy the reproducible builds snaps!


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

I would legitimately recommend reading the OP blog post first - it outlines his exact compliant (people keep thinking NixOS is reproducible, but NixOS uses the term differently/wrongly) and the people on Lobsters completely miss it and get very pissy :marseymad:

https://linderud.dev/blog/nixos-is-not-reproducible/


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

Having needed to package some horrible maven packages, some build systems are just aggressively anti-reproducible. Maven doesn't even always read the same set of files, given identical inputs and just asked to make an output jarfile, you will get wildly different files every time.

Nix has fixed-output derivations for bit-identical outputs anyway, but I'm glad I'm not forced to fix Maven's brain damage just to use nix.

Jump in the discussion.

No email address required.

"Reproducible builds" means bit for bit the same. The entire point is to let you verify a prebuilt binary. These nixos devs sound r-slurred.

Jump in the discussion.

No email address required.

To me it seems like the original NixOS paper used “reproducible” to mean “making a system functionally the same” but about 2016-ish the “reproducible builds” movement was adamant about their version of “bit for bit” reproducibility.

The former party seems to be digging their heels in for some reason and denying this is a commonly held misconception.


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

Do you agree with the nixos devs?

I'm just not sure what purpose "reproducible" serves if it just means "kinda does the same thing". Having it be bit-for-bit the same serves a very important technical purpose which is why the "reproducible builds" movement is aiming for that. Shit, we even have these kinds of builds at my job - we want the hashes of binaries built from the same source code to be the same. It needs to be EXACTLY the same for this to work.

Jump in the discussion.

No email address required.

I don't. I had originally thought that's what “reproducible” meant even in the NixOS context. They seem to be denying they benefit from the misconception even though this could have nasty consequences if you believe this.


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

It's too late Ken Thompson already put his hack in the compiler

Jump in the discussion.

No email address required.

Don't trust anyone not even trust :marseyitsover:


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

Isn't the main point of bit-by-bit reproducibility (as distinct from behavioural reproducibility, where an irrelevant timestamp might be off by 5 milliseconds, but it's all the same otherwise) that you can verify your supply chain? NixOS users can (and often do) get the same supply chain guarantees by simply not using a binary cache and building from scratch, which is trivially easy with Nix, you just disable the official NixOS binary cache. And behavioural reproducibility is enough in this case.

:#marseyagreefast:

Jump in the discussion.

No email address required.

if we redefine reproducibility, we're reproducible

Jump in the discussion.

No email address required.

I think they have a decent case they were using it that way first but clearly bit-for-bit is what people mean now. They seem to deny this though.


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

I switched to nix on my macbook :marseylaptop: because I wanted to and was marginally disappointed. It's nice and does everything I want it to, but like:

  • I ended up just using nix-darwin and a few packages with mac-specific builds, so I think :marseyoscargamble: moving my config to linux :marseykernelpanic: would :marseymid: be a hassle

  • Post-install config is still fiddly without using home manager :marseysuit: which appears unstable and at least as annoying :marseychonkernoticeme: as nix itself

  • For Rust as best I can tell the correct :marseyhesright: approach is to install rustup and use that for to actually :marseyakshually: install da tools, at which point :marseyfoxgloveyourself: it might as well be homebrew

Jump in the discussion.

No email address required.

Hmm, I was considering trying nix-Darwin too.

Nothing was stopping me, but frankly homebrew works fine? I'm new to macOS and with all the moaning I heard I thought it was going to break a lot more :marseyshrug:

Maybe I'll need to go through a full version upgrade first :marseyhmm:


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

nix-darwin is cozy and feels :marseyvapecrying: less crufty than homebrew + all the system :marseymars: configs in one file is genuinely kewl, but it's not straightforwardly worth switching imo.

Also casks are awesome :marseygoodshit: and I'm keeping brew around for them, so you won't go to zero packages if you switch.

Jump in the discussion.

No email address required.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.