!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
13 Mar 2026
@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
@lisanna-dettwyler:matrix.orgLisannahonestly I could be tempted away from cppnix into Lix dev, I <3 Lix but right now I'm trying to get a job working on Nix so cppnix is where I'm spending my free time to try to maximize hirability ): 15:06:01
@raitobezarius:matrix.orgraitobezariusi think the biggest annoyance about gRPC is that it mandates HTTP2 on the wire and it's so annoying15:06:52
@raitobezarius:matrix.orgraitobezariuslike gRPC over stdout/stdin is not a thing15:06:57
@raitobezarius:matrix.orgraitobezariusif we had used gRPC, we would have needed to do crimes to implement what we did with libexec15:07:15
@raitobezarius:matrix.orgraitobezariuscapnp is way more behaved in that regards15:07:38
@raitobezarius:matrix.orgraitobezariusyou might be mixing up this with arcana15:09:03
@raitobezarius:matrix.orgraitobezariusor even god forbids: gRPC over socketpair()15:10:24
@griff79:matrix.orggriffhow are you going to do capnp remote? ssh, mTLS?15:11:21
@raitobezarius:matrix.orgraitobezariusmTLS with the possibility to reuse SSH authnz15:11:32
@raitobezarius:matrix.orgraitobezariusaka SSH as an authorization hook15:11:47
@raitobezarius:matrix.orgraitobezariusSSH for the data channel seems a dead end tbh15:11:57
@griff79:matrix.orggriffwhy?15:12:25
@lisanna-dettwyler:matrix.orgLisanna * honestly I could eventually be tempted away from cppnix into Lix dev, I <3 Lix but right now I'm trying to get a job working on Nix so cppnix is where I'm spending my free time to try to maximize hirability ): 15:12:51
@raitobezarius:matrix.orgraitobezariusThere's the performance problems of what SSH was optimized to do (TCP_NODELAY related topics)15:13:03
@raitobezarius:matrix.orgraitobezariusThere's the "use libssh if you want to have control over the thing like readiness, etc." but "if you use libssh, you lose all the advanced openssh features"15:13:22
@raitobezarius:matrix.orgraitobezarius Maybe in Rust-land, we can use a proper config parser and have feature parity with openssh but people do depend on the exact details of openssh configs and this limits our ability to do better than an execve of ssh 15:13:50
@raitobezarius:matrix.orgraitobezarius(execve of ssh is also not a great way to run a wire remotely)15:14:00
@raitobezarius:matrix.orgraitobezariusSo, if we could bring this down to SSH is only used to authorize your mTLS connection, that'd give users the convenience of SSH key distribution/authentication while having a somewhat performant data channel (H2)15:14:40
@flokli:matrix.orgflokli
In reply to @raitobezarius:matrix.org
i think the biggest annoyance about gRPC is that it mandates HTTP2 on the wire and it's so annoying
Hey, it could be worse. Like varlink over the network.
15:17:42
@raitobezarius:matrix.orgraitobezariuslet's not talk about varlink15:17:54
@flokli:matrix.orgflokliOh wait15:18:02

Show newer messages


Back to Room ListRoom Version: 10