| 21 Nov 2025 |
Charles | source code, compilers, build scripts, etc; things of that nature | 17:47:03 |
Sofie 🏳️⚧️ (she/her) | what would be the most finniky part currently? | 17:47:25 |
Charles | all a nix implementation can do is ensure that the build environment is bit-exact reproducible, not the output artifacts from any given build | 17:47:34 |
Charles | bitching at every upstream to write deterministic code for generating outputs of any form | 17:48:00 |
Sofie 🏳️⚧️ (she/her) | ooo, 3? | 17:48:26 |
Charles | getting the current date? not reproducible. iterating a hashmap? not reproducible. etc. | 17:48:39 |
piegames | (btw we do have governance since this summer) | 17:49:45 |
522 it/its ⛯ΘΔ | running builds in an environment that always does stuff like iterate files in alphabetical order would at least work around reproducibility issues | 17:51:00 |
Sofie 🏳️⚧️ (she/her) | https://medium.com/the-toit-take/hash-maps-that-dont-hate-you-1a96150b492a at least hash maps could be done with this but idk | 17:51:11 |
Sofie 🏳️⚧️ (she/her) | yea | 17:51:22 |
Sofie 🏳️⚧️ (she/her) | oooo | 17:51:33 |
Sofie 🏳️⚧️ (she/her) | nice | 17:51:35 |
Charles | the point is that this is a problem in general, sure you can solve it in specific cases, but you'd need to convince every upstream to fix this, which is not gonna happen | 17:51:45 |
Sofie 🏳️⚧️ (she/her) | has aux gotten their team setup already? | 17:51:52 |
522 it/its ⛯ΘΔ | i mean you can freely use hashmaps that don't maintain insertion order, you just need to not leak that ordering to the end binary | 17:52:03 |
Charles | yeah you just need to convince every piece of software in your build environment to do this, which is not gonna happen | 17:52:15 |
Sofie 🏳️⚧️ (she/her) | I mean, yea | 17:52:15 |
K900 | r11y is already being actively worked on in nixpkgs | 17:52:16 |
K900 | And massively improving | 17:52:25 |
Sofie 🏳️⚧️ (she/her) | nice | 17:52:33 |
522 it/its ⛯ΘΔ | no i mean disorderfs exists, and you can choose the build path in nix, no? you can run the build in a disorderfs (which is just FUSE) directory set to sort dirents | 17:53:44 |
Sofie 🏳️⚧️ (she/her) | can't you do this for every nix build? implement in lix or something | 17:54:16 |
K900 | We have that already | 17:54:32 |
Charles | i don't know what disorderfs is but i also can't imagine how something at the filesystem level could help here | 17:54:41 |
K900 | It does not by itself achieve determinism | 17:54:41 |
K900 | Quite the opposite | 17:54:44 |
K900 | disorderfs is a FUSE filesystem that intentionally fucks with readdir ordering | 17:54:57 |
522 it/its ⛯ΘΔ | disorderfs has a setting to explicitly order dirents | 17:54:58 |
K900 | Well that is also not the only issue | 17:55:10 |
K900 | Anyway, if we're talking r11y, this is an ecosystem wide effort and most of it needs to happen in nixpkgs | 17:55:26 |