| 25 Nov 2025 |
piegames | Do we have a command to easily check remote builder connections? If not, can I request that as a feature? | 15:19:23 |
piegames | * Do we have a command to easily check (and debug) remote builder connections? If not, can I request that as a feature? | 15:19:34 |
Sofie 🏳️⚧️ (she/her) | isn't compat basically this but kinda like reversed | 15:25:59 |
Atemu | flake-compat is quite close to what I want but IIRC it still evals the current project "as a flake" and comes with all the stupidity in doing that like depending on my VCS state or copying shit to the nix store unnecessarily | 15:28:00 |
goldstein | I’m doing this basically right now lol | 15:28:32 |
Atemu | but I'll have to take another look | 15:28:33 |
goldstein | I have a program that takes in flakes inputs format, solves them into a flat dependency structure and adds to npins sources.json | 15:28:58 |
goldstein | and then generates appropriate dependency injections so flakes don’t know they aren’t actually being used as flakes | 15:29:16 |
Atemu | Oooh; do you have that published somewhere? | 15:29:42 |
goldstein | not yet, I need to add a bit of polish (like CLI parsing), but I expect to publish it this week | 15:30:13 |
goldstein | also I need to change name generation scheme, because doing npins update unflake_<base64> isn’t really nice lol | 15:31:09 |
goldstein |  Download clipboard.png | 15:31:12 |
Atemu | I want it to be direct and acually work with the flake.nix "standard" such that I can throw it at some local flake project and eval it without flake tooling BS but I'd probably need to solve many of the same issues as you likely have | 15:31:47 |
Sofie 🏳️⚧️ (she/her) | well, the issue is that there's really no "standard" | 15:32:47 |
Atemu | Yeah I know, hence the quotes.. | 15:33:06 |
Sofie 🏳️⚧️ (she/her) | you'd have to solve that but if we are doing that, why not just fix the whole standard | 15:33:07 |
goldstein | I think the big question here is whether you want to respect transitive dependency lockfiles
I explicitly do not respect them (the problem I’m trying to solve is a billion of nixpkgs in my system closure), so I need to do a bit of extra work to re-solve dependencies | 15:33:24 |
goldstein | if you do, then I think just manually dependency-injecting is not that hard | 15:33:41 |
Atemu | What I mean is the structure of the flake.nix; inputs, outputs and the schema of the outputs | 15:33:38 |
Sofie 🏳️⚧️ (she/her) | * | 15:33:39 |
goldstein | if you do not want to respect them, you’ll probably be able to take my solver and just plug in another “backend”, my design is pretty modular | 15:34:49 |
Atemu | Honestly for any remote inputs, it can do pure eval or whatever it wants; I just want nix projects on my local filesystem to function sensibly | 15:35:25 |
Atemu | (Like, what Nix would otherwise do with a flake) | 15:35:50 |
Sofie 🏳️⚧️ (she/her) | Anyways, now that we have a lix committee, times for an proper standard honestly | 15:36:17 |
goldstein | preach
I did so much reverse engineering for this project | 15:36:35 |
Sofie 🏳️⚧️ (she/her) | or at least start work on a RFC or something | 15:36:38 |
Atemu | @goldstein:tty5.dev: Could I DM you an SSH pubkey for access to the WIP code? | 15:37:35 |
goldstein | oh, one more fun fact: flake.nix is semi-implemented in nixlang, see https://git.lix.systems/lix-project/lix/src/commit/27a94369a9a76c7e41220060b85b984e3dc6da4e/lix/libexpr/flake/call-flake.nix | 15:38:56 |
goldstein | I can just DM you the file if you want to, it’s not secret or anything, I just need to polish a bit + write some docs | 15:39:19 |
Atemu | That'd be awesome :)
I don't expect good code quality from a WIP/PoC ;)
| 15:40:28 |