!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

423 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.141 Servers

Load older messages


SenderMessageTime
13 Mar 2026
@raitobezarius:matrix.orgraitobezariusWe're not going to use gRPC in Lix13:44:02
@raitobezarius:matrix.orgraitobezariusWe're using already Cap'n'Proto13:44:07
@lisanna-dettwyler:matrix.orgLisannaAh, OK, I must have confused them13:44:21
@raitobezarius:matrix.orgraitobezarius https://git.lix.systems/lix-project/lix/src/commit/5346b2bc6884ab71c1d0fc858f3b11484d01cbfb/lix/libstore/build/hook-instance.capnp 13:44:36
@lisanna-dettwyler:matrix.orgLisannaok, so I'13:45:22
@lisanna-dettwyler:matrix.orgLisanna* ok, so I'll rephrase then :p are there plans to extend capn proto to the daemon? Has that already started?13:45:41
@raitobezarius:matrix.orgraitobezariusThis is going to start imminently in 2.9613:45:52
@raitobezarius:matrix.orgraitobezariusLix 2.94 made hook instance capnp13:45:57
@raitobezarius:matrix.orgraitobezariusLix 2.95 used Cap'n'Proto for exchanging settings between libexec helpers and the daemon13:46:07
@raitobezarius:matrix.orgraitobezariusLix 2.96 will offer daemon sockets with multi protocol support13:46:21
@raitobezarius:matrix.orgraitobezariusLix 2.95 already has the inherent capability13:46:27
@raitobezarius:matrix.orgraitobezarius https://gerrit.lix.systems/c/lix/+/4951 13:46:36
@lisanna-dettwyler:matrix.orgLisannaok, thank you!13:47:51
@hexa:lossy.networkhexa sad that you'll be spending time for cppnix instead of lix then 😉 14:18:26
@piegames:flausch.socialpiegamesThat's not the sad thing, we're not doing software tribalism here. The sad thing is the usage of gRPC, which isn't the best technical option, and also will make CppNix and Lix fairly daemon-incompatible long-term14:41:54
@piegames:flausch.socialpiegamesIIRC snix is using gRPC, and it wasn't going too well for them?14:42:13
@flokli:matrix.orgflokliwe're using gRPC if you cross the process boundary14:42:50
@flokli:matrix.orgflokliand it's working fine-ish?14:42:55
@piegames:flausch.socialpiegamesOr am I misremembering something here14:43:02
@flokli:matrix.orgfloklithere's a few known perf issues due to how to the blob/chunk substitution doing more roundtrips than necessary, but that's more of a "we need to refactor the code at some point" than a gRPC-issue per se14:44:00
@griff79:matrix.orggriffAnd as long as the data flowing is compatible making a converter from gRPC to Capnp or even to old shitty daemon protocol should be possible14:45:51
@flokli:matrix.orgflokliwe picked gRPC over captnproto because it's generally better supported across various programming languages, and it felt like captnproto still requires you to be on your own for a lot of things.14:45:54
@flokli:matrix.orgflokliThat being said, it's just another implementation of our traits, you can also talk another protocol.14:46:14
@flokli:matrix.orgflokliI don't know how much captnproto forces you to model your application logic to its needs, if you make use of some of the more fancy stuff. We don't use any of these currently.14:47:05
@griff79:matrix.orggriffit doesn't force your application logic to do anything. gRPC does that more in that it is entirely request/response based and you can't send an interface to be called back to the remote14:52:23
@flokli:matrix.orgflokliok, what i meant to say is that right now all our traits are request/response based.14:55:25
@flokli:matrix.orgflokliso using either captnproto or grpc is just a matter of implementing that trait surface.14:56:13
@lisanna-dettwyler:matrix.orgLisannaI was mixing up gRPC with Capn Proto, the only reason I mentioned gRPC is because that's what I thought Lix was going with14:58:37
@lisanna-dettwyler:matrix.orgLisannawe may not touch the protocol implementation at all and instead focus on providing an extensible API in libnix-store14:59:23
@piegames:flausch.socialpiegamesAh15:00:02

Show newer messages


Back to Room ListRoom Version: 10