| 26 Mar 2026 |
raitobezarius | I surmise there's no way to make people happy ^^ — from my PoV, getting out of the bespoke configuration lang that we had is a net positive | 15:26:24 |
Emma [it/its] | net positive sure, but you've replaced something bespoke with... something highly annoying to write..? | 15:26:53 |
Unhooked Spirits | Does Lix use the new TOML version that allows inline tables to be across multiple lines? | 15:27:01 |
raitobezarius | having written a lot of Nix bespoke config for machines, TOML is way way easier to write IME | 15:27:25 |
raitobezarius | esp. with the existing Nixlang infrastructure to synthesize standard config lang files | 15:27:35 |
Emma [it/its] | i wouldve highly preferred json personally | 15:27:54 |
Psentee | Ah. I'm trying to achieve something similar with a wrapper (https://codeberg.org/psentee/etwa, the plan is to rewrite -f + more expressive attrpath to a pure --expr). And I'm super unwilling to touch C++. But I can compile my Rust to a .so (and it's even better with subprocess support), so that's good news. Thanks! | 15:28:13 |
raitobezarius | not me ^^ | 15:28:20 |
raitobezarius | I'm not sure tbh, thubrecht do you know? | 15:28:36 |
raitobezarius | Yeah, the only issue you may run into is that transferring C++ objects to Rust is non trivial and it's unclear to us yet how cxx can get you there | 15:29:06 |
raitobezarius | But we are actively working on being able to use Rust | 15:29:15 |
raitobezarius | So if we figure out the right ways to achieve that, you may inherit from these easier pathways to using Rust | 15:29:28 |
Psentee | A wire protocol would be great here (isn't capnproto supposed to do that?) | 15:30:10 |
raitobezarius | Yes, but it cannot be used for very very high performance usecases | 15:30:28 |
Psentee | Maybe a C++ plugin that only defines a wire protocol for external plugins | 15:30:30 |
Psentee | As an option | 15:30:38 |
Emma [it/its] | can we have a json rpc protocol? | 15:30:44 |
raitobezarius | Yep, but then, it becomes a budget allocation problem | 15:30:50 |
raitobezarius | If you write a Cap'n'Proto translator to a JSON RPC protocol, yes ^^ | 15:31:18 |
Emma [it/its] | i hate having to write structs for data interchange :') | 15:31:45 |
Emma [it/its] | when i could just have... JsonObject | 15:32:25 |
Psentee | Anyway, good to hear there might be a better option than a wrapper over nix in foreseeable future:) | 15:32:27 |
raitobezarius | So, I think the ideas are:
- C++ plugins are meant to influence things like existing CLI framework, etc.
- RPC is meant to build alternative CLI frontends, alternative components (store, build orchestrator, etc.)
| 15:32:42 |
Psentee | (and maybe a way to contribute without having to work with C++) | 15:32:55 |
Emma [it/its] | RPC would be useful for me but... i'd need a json thing | 15:33:02 |
Emma [it/its] | because i currently fork a bunch of nix processes :') | 15:33:21 |
Emma [it/its] | * because i currently fork a bunch of nix processes with -o json :') | 15:33:32 |
raitobezarius | Yeah and I forgot: we are also interested into bringing a reasonable first class support for Rust in the Lix codebase for various uses, but its first consumer is going to be the Lix team and it might be reusable externally but that's how we set up our priorities | 15:33:42 |
Psentee | maybe repl-automation experimental feature would let you talk with one process only? | 15:34:28 |
raitobezarius | yeah but ideally repl-automation is mostly for testing ^^ | 15:34:42 |