feat(tvix/cli): use TvixStoreIO instead of NixCompatIO

This switches tvix-cli over from using `NixCompatIO` to `TvixStoreIO`.

For now, we simply instantiate in-memory services instead of getting
fancy with constructors inside tvix-store, but long-term, we might want
to support some URI syntax, to make this configurable at runtime.

nixpkgs eval tests might be fine (and fast!) with a purely in-memory
backend, but other usages might involve talking to a local tvix-store
over gRPC (using the gRPC client, either unix domain socket or even
further away remote), or running tvix-store in "embedded" mode (using
another client than the gRPC client).

Change-Id: I509afd3dc5ce3f2d52b0fb7067748fab820e26ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8572
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
Florian Klink 2023-05-14 21:21:27 +03:00 committed by clbot
parent ad6b6b14db
commit 63047449d7
4 changed files with 24 additions and 1 deletions

View file

@ -9,6 +9,7 @@ path = "src/main.rs"
[dependencies]
nix-compat = { path = "../nix-compat" }
tvix-store = { path = "../store" }
tvix-eval = { path = "../eval" }
rustyline = "10.0.0"
clap = { version = "4.0", features = ["derive", "env"] }