| 22 Oct 2025 |
niklaskorz | looking into setting up gerrit myself right now so the afnix infra repo is a real gold mine 👀 | 10:09:31 |
niklaskorz | (thanks!) | 10:09:55 |
| @abaris99f:matrix.org removed their profile picture. | 10:35:41 |
| @abaris99f:matrix.org removed their display name JannikH (Abaris). | 10:35:53 |
| @abaris99f:matrix.org left the room. | 10:35:56 |
Guilherme Espada | I'm confused as to why https://docs.lix.systems/manual/lix/nightly/release-notes/ doesn't seem to include the 2.93 release notes | 10:36:42 |
aloisw | Because it's wildly out of date and was generated before the release. | 15:36:55 |
helle (just a stray cat girl) | I've considered figuring out some infrastructure for it, but there are higher priority fixes to the docs access situation | 15:52:17 |
| mxcurly joined the room. | 18:15:18 |
Jassuko | In reply to @lillecarl:matrix.org Why not?! I depend on builtins.fromJSON and builtins.toJSON for several usecases Ohh, so those ended up being included in the builtins at some point? Nice.
Last time I checked (few years ago) people were too concerned about possible serialization issues and having to maintain compatibility over long time, so JSON was not supported as a builtin. | 20:31:57 |
ekler | fromJSON has existed since nix 1.8 (2014) and toJSON is from 1.7 (2013) | 20:46:59 |
ekler | But that's just for arbitrary data and chokes sometimes e.g. functions | 20:49:56 |
Jassuko | Wtf. Why I didn’t find a usable JSON thing when I needed it, then. :o | 21:16:43 |
lillecarl | Maybe your memory is mixing JSON and YAML. YAML is still IFD | 21:24:54 |
rosssmyth | They were talking about derivation serialization, which is different from Nix expression serialization. You can view derivation serialization if you run something like nix derivation show nixpkgs#hello (for JSON), while the usual serialization of derivation is to ATerm, a weird old format you can view with something like nix eval nixpkgs#hello.drvPath | xargs cat. These are the "*.drv" files references sometimes. | 21:44:57 |
rosssmyth | * They were talking about derivation serialization, which is different from Nix expression serialization. You can view derivation serialization if you run something like nix derivation show nixpkgs#hello (for JSON), while the usual serialization of derivation is to ATerm, a weird old format you can view with something like nix eval nixpkgs#hello.drvPath | xargs cat. These are the "*.drv" files referenced sometimes. | 21:45:22 |
| 23 Oct 2025 |
emily | "I’d so much prefer writing Nix over JSON any day, but last time I checked (way over a year ago) that was not supported use case." sounds like just fromJSON/toJSON to me? | 00:19:58 |
emily | a stable JSON serialization format for Nix derivations would not help with writing Nix over JSON | 00:20:12 |
emily | unless the JSON you want to write happens to be exactly what the stable JSON derivation format would be :) | 00:20:24 |
Arian | The context here is i want to record build provenance info in Rekor. For which i need some canonical serialization of the build. I was using the json serialization now. But i think ATerm might be more honest? | 00:41:48 |
Arian | I guess I'll just also notarize the version of Lix used and then it doesn't matter wtf I do | 00:42:27 |
raitobezarius | good | 00:44:45 |
| Rcat 🏳️🌈🏳️⚧️ changed their profile picture. | 10:54:17 |
lillecarl | [lillecarl@shitbox] in [☸ kubernetes-admin@shitbox]~/C/nix-csi [🎋 main][!?⇡][🗀 loaded/allowed][🐚fish][as🧙]
[14:54:27]❌1 ❯ NIX_PATH=$NIX_PATH:dinix=/home/lillecarl/Code/dinix nix build --file guests/ctest.nix
/nix/store/abc0z84prslflqi1m8kssggarfnvcl5z-dinit-wrapped
[lillecarl@shitbox] in [☸ kubernetes-admin@shitbox]~/C/nix-csi [🎋 main][!?⇡][🗀 loaded/allowed][🐚fish][as🧙]
[14:54:43]❯ NIX_PATH=$NIX_PATH:dinix=/home/lillecarl/Code/dinix nix eval --raw --file guests/ctest.nix
error:
… while generating the eval command output
error: cannot coerce a function to a string: «lambda @ /home/lillecarl/Code/nix-csi/guests/ctest.nix:1:1»
Why is it that I can build this file but not eval it? I just wanna get the storePath during eval
{
pkgs ? import <nixpkgs> { },
dinix ? import <dinix>,
}:
pkgs.hello # simplified for brevity
| 12:56:26 |
lillecarl | * [lillecarl@shitbox] in [☸ kubernetes-admin@shitbox]~/C/nix-csi [🎋 main][!?⇡][🗀 loaded/allowed][🐚fish][as🧙]
[14:54:27]❌1 ❯ NIX_PATH=$NIX_PATH:dinix=/home/lillecarl/Code/dinix nix build --file guests/ctest.nix
/nix/store/abc0z84prslflqi1m8kssggarfnvcl5z-dinit-wrapped
[lillecarl@shitbox] in [☸ kubernetes-admin@shitbox]~/C/nix-csi [🎋 main][!?⇡][🗀 loaded/allowed][🐚fish][as🧙]
[14:54:43]❯ NIX_PATH=$NIX_PATH:dinix=/home/lillecarl/Code/dinix nix eval --raw --file guests/ctest.nix
error:
… while generating the eval command output
error: cannot coerce a function to a string: «lambda @ /home/lillecarl/Code/nix-csi/guests/ctest.nix:1:1»
Why is it that I can build this file but not eval it? I just wanna get the storePath when evaluating
{
pkgs ? import <nixpkgs> { },
dinix ? import <dinix>,
}:
pkgs.hello # simplified for brevity
| 12:56:53 |
raitobezarius | .outPath ? | 12:57:25 |
raitobezarius | also | 12:57:35 |
raitobezarius | i don't think nix eval does auto call semantics | 12:57:44 |
raitobezarius | you need to apply the function | 12:57:51 |
lillecarl | [15:00:59]❯ NIX_PATH=$NIX_PATH:dinix=/home/lillecarl/Code/dinix nix eval --impure --raw --expr 'import ./guests/ctest.nix {}'
/nix/store/abc0z84prslflqi1m8kssggarfnvcl5z-dinit-wrapped⏎
Thanks! I think I can make it work with this 😄
| 13:01:33 |