| 27 Nov 2024 |
John Ericson | no self references is less work, but relocatable / store dir agnostic is big payout | 15:02:00 |
John Ericson | * no self references is less work, but relocatable / store dir agnostic is bigger payout | 15:02:23 |
matthewcroughan |  Download IMG_20241126_212855.jpg | 15:35:36 |
matthewcroughan | I was wondering why my router kept going down. | 15:35:45 |
matthewcroughan | Can't garbage collect without OOMing | 15:36:00 |
Martin Schwaighofer | In reply to @emilazy:matrix.org
three possible solutions, of increasing elegance and decreasing layer violations
- Nix detects when it's poking at an
aarch64-darwin binary – regardless of host platform! – and re-signs it after rewrite (so, Nix unconditionally links to rcodesign or similar I guess). and the code signature part of binaries is excluded from the content hash
- we put a manifest in
nix-support listing files that are executables that need re-signing and (ditto) – this at least gives stdenv flexibility to get policy here even if we do the same sniffing by default
- we put a more elaborate manifest in
nix-support listing files that need some kind of post-processing after rewriting and what tools to run on them and how to determine which parts of them should be excluded from the hash. this could also handle things like updating .zip checksums or whatever. but you could do things to "break the model" here of course, and it's not clear what the best format would be or how much flexibility you'd need
I think there is one other solution we can consider, which also enables central signing and does not break any of the guarantees users expect from Nix. I looked into this in 2022, and presented the results at NixCon (https://youtu.be/-CUa3yVTK5U, and https://talks.nixcon.org/nixcon-2022/talk/JHVF8N/). What I found is that if you put building, signing and signature verification into their own CA derivations, you do not have to trust the signing derivation at all. You could consider the signature verification derivation a derivation that either returns one of its direct dependencies or fails, or you could consider it a 'quasi derivation' a la https://github.com/NixOS/nix/issues/11955. The only additional thing you REALLY need in Nix for this is a way to completely prevent rewriting for specific inputs of a specific derivation (if we end up having it) because verification cares about the actual bits and it would be nice to have an officially supported way of annotating this verification relationship in the language (or maybe 'quasi derivations' ... have to think about it) - back then I just used environment variables for this which also works. | 16:01:16 |
Martin Schwaighofer | In reply to @emilazy:matrix.org my preference is for (3) because I want Hydra to be able to do actual full-blown macOS code signing, and making that solution work would pave the way towards that Actually what I wrote in my previous message is an alternative way to get code signing to work centrally, I am not sure if it would improve the self reference situation. 🤦♂️ | 16:29:55 |
| 28 Nov 2024 |
@enzime:nixos.dev | is there a reason https://nix.dev/manual/nix/stable/ points to 2.18? | 01:48:35 |
@enzime:nixos.dev | should it be pointing to 2.24? | 01:49:15 |
| sheeeng joined the room. | 07:45:19 |
Robert Hensing (roberth) | In reply to @enzime:nixos.dev is there a reason https://nix.dev/manual/nix/stable/ points to 2.18? fricklerhandwerk? | 09:22:54 |
Robert Hensing (roberth) | In reply to @enzime:nixos.dev is there a reason https://nix.dev/manual/nix/stable/ points to 2.18? * maybe fricklerhandwerk knows or could solve it | 09:23:28 |
infinisil | nix.dev has pins that need to be updated | 09:23:46 |
infinisil | In reply to @enzime:nixos.dev is there a reason https://nix.dev/manual/nix/stable/ points to 2.18? See https://github.com/NixOS/nix.dev/blob/master/CONTRIBUTING.md#updating-reference-manuals | 09:25:04 |
infinisil | Although, it might only change once the new NixOS is released, check out https://github.com/NixOS/nix.dev/blob/master/nix/releases.nix for the logic behind it | 09:27:42 |
fricklerhandwerk | In reply to @enzime:nixos.dev is there a reason https://nix.dev/manual/nix/stable/ points to 2.18? Also see here for what users should see: https://nix.dev/reference/nix-manual | 09:30:08 |
emily | that page has "Shipped with the previous stable release" but I thought the support policy was that only the latest version + the version in stable NixOS were supported? so isn't that going to be pointing to the manual for an unsupported version soon? | 09:36:25 |
emily | in light of https://github.com/NixOS/nixpkgs/pull/359215 etc. | 09:36:52 |
| @matt:1e0.uk joined the room. | 22:02:05 |
| @matt:1e0.uk set a profile picture. | 22:24:28 |
| @ixlun:matrix.org removed their display name Matthew L. | 22:32:39 |
| @ixlun:matrix.org left the room. | 22:34:16 |
| 29 Nov 2024 |
| lassulus changed their profile picture. | 18:29:41 |
| 30 Nov 2024 |
| doomhammer joined the room. | 05:15:34 |
| 1 Dec 2024 |
| @tanvir:hackliberty.org removed their profile picture. | 17:38:23 |
| @tanvir:hackliberty.org removed their display name 𝒕𝒂𝒏𝒗𝒊𝒓. | 17:41:17 |
| @tanvir:hackliberty.org left the room. | 17:45:51 |
| @mmkaram:matrix.org joined the room. | 21:23:13 |
| @mmkaram:matrix.org changed their display name from Mahdy M. Karam to mmkaram. | 21:26:55 |
| 2 Dec 2024 |
Mindavi | Has anyone ever benchmarked nix with huge pages? Does it help anything with evaluation? | 17:24:47 |