# nix-grpc-store

A remote Nix store server that replaces SSH with gRPC and mTLS, batching path queries and streaming NAR downloads to make nix copy and remote builds faster over high-latency links.

nix-grpc-store provides remote access to a Nix store over gRPC instead of SSH. It batches the path-info queries for a whole closure into one RPC and streams NAR downloads over a single connection, so copying many small paths is bound by bandwidth rather than by one round trip per path, which the project measures as several times faster than ssh-ng:// at typical latencies.

It authenticates with standard X.509 certificates instead of SSH keys, so it can plug into existing PKI such as a step-ca issuer and reuse load balancers and service meshes that already speak HTTP/2, and it compresses all traffic with zstd using one shared compression window per batch. Everything that works over ssh-ng:// also works here, including remote builds, nix copy, path queries and garbage collection, and a grpc:// store address can point at a build farm that spreads derivations across multiple daemons.

It is written in C++ and licensed under MIT; the project describes itself as stable.

Website: https://github.com/Mic92/nix-grpc-store
