| 17 Jan 2026 |
Sergei Zimmerman (xokdvium) | In reply to @eveeifyeve:matrix.org It tries to return a base error however error isn't initialized so it panics with no message. Once again, that is an issue with a global initializers not printing the exception info before main. Not much we can do now | 00:41:49 |
eveeifyeve | Is this backported? | 00:44:38 |
eveeifyeve | Sergei Zimmerman (xokdvium): Compiled it, however still failing to launch. | 02:03:53 |
eveeifyeve | * Sergei Zimmerman (xokdvium): Compiled it, however still failing to launch. I am going to look into a debug build to try and debug it. | 02:04:08 |
| Theo Paris joined the room. | 02:04:16 |
eveeifyeve | Should I move this discussion to #windows:nixos.org? | 02:15:33 |
eveeifyeve | * Should I move this discussion to https://matrix.to/#/#windows:nixos.org? | 02:16:08 |
| @normalcea:matrix.org removed their profile picture. | 04:09:07 |
| @normalcea:matrix.org removed their display name jasi 🏳️⚧️. | 04:09:15 |
| @normalcea:matrix.org left the room. | 04:09:23 |
| 18 Jan 2026 |
roberth | I would much appreciate your feedback on https://github.com/NixOS/rfcs/pull/196: Self-describing store This RFC proposes that stores provide a nix-store.json file declaring their properties, enabling:
- Discovery of store settings (storeDir, encoding, etc.)
- Forward compatibility through explicit feature requirements
- A unified replacement for the ad hoc nix-cache-info format
| 16:55:25 |
roberth | (best discussed over there) | 16:56:38 |
| losvedar joined the room. | 17:37:54 |
| isabel changed their profile picture. | 20:43:31 |
| 19 Jan 2026 |
niksnut | looks good to me in principle | 10:01:39 |
raboof | is it expected that // is not lazy? i.e. it evaluates the LHS even if the RHS holds the thing I'm taking from it? | 14:26:57 |
raboof | * is it expected that // is not lazy? i.e. it evaluates the left parameter even if the right parameter holds the thing I'm taking from it? | 14:27:44 |
Alyssa Ross | nix-repl> ({ foo = throw "oh no"; } // { foo = 1; }).foo
1
| 14:28:09 |
Alyssa Ross | looks lazy to me? | 14:28:13 |
raboof | nix-repl> ((throw "oh no") // { foo = "foo"; }).foo
error: oh no
| 14:31:30 |
ma27 | attr-names are generally not lazy in Nix, hence the throw is being evaluated. | 14:32:02 |
raboof | I read // as a function (in infix notation) with two parameters, perhaps that's not how this works? | 14:32:41 |
raboof | right, so // creates its set of attr-names at first access. that makes some sense I guess. | 14:40:42 |
Sergei Zimmerman (xokdvium) | In reply to @raboof:matrix.org is it expected that // is not lazy? i.e. it evaluates the left parameter even if the right parameter holds the thing I'm taking from it? Yes, attribute names are evaluated eagerly in part due to how attrsets are stored internally | 14:42:23 |
Mic92 | Also because they have to be lexical sorted, no? | 14:56:23 |
roberth | It's the simple thing to do, and simple is fast, usually. Not being simple is what stalled https://github.com/NixOS/nix/pull/4154 | 14:57:32 |
roberth | Could be revisited, but it does change the language semantics so that's tricky, and hard to backtrack away from in the future | 14:58:10 |
Mic92 | Yeah, feels hard to make this bug-compatible with the current behaviour. | 14:58:51 |
Mic92 | One could have an infinite attrset that would work with new nix, but not with old nix. | 14:59:24 |
Mic92 | Also that would be less likely the biggest issue | 14:59:51 |