about summary refs log tree commit diff
path: root/tvix/Cargo.nix
diff options
context:
space:
mode:
authorVova Kryachko <v.kryachko@gmail.com>2024-10-29T18·00-0400
committerVladimir Kryachko <v.kryachko@gmail.com>2024-10-30T15·00+0000
commit9e294db8206ee8f8ed99887367222c2197c5c83c (patch)
treea36c6a2cc819024c0fa8fd12d9970901c2f9c3fc /tvix/Cargo.nix
parenteb2ca5f07991cc526b22b1701896f40d38c46d46 (diff)
feat(tvix/nix-daemon): Initial skeleton for nix-daemon r/8878
The goal is to create a drop-in replacement nix-daemon that nix-cpp can
use as a `daemon` store.

Change-Id: Ie092047dcc6a24a3b8d8d1b808f3e6fd2c493bf2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12711
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/Cargo.nix')
-rw-r--r--tvix/Cargo.nix76
1 files changed, 76 insertions, 0 deletions
diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix
index d0b94380ee00..749f39fb93cc 100644
--- a/tvix/Cargo.nix
+++ b/tvix/Cargo.nix
@@ -75,6 +75,16 @@ rec {
       # File a bug if you depend on any for non-debug work!
       debug = internal.debugCrate { inherit packageId; };
     };
+    "nix-daemon" = rec {
+      packageId = "nix-daemon";
+      build = internal.buildRustCrateWithFeatures {
+        packageId = "nix-daemon";
+      };
+
+      # Debug support which might change between releases.
+      # File a bug if you depend on any for non-debug work!
+      debug = internal.debugCrate { inherit packageId; };
+    };
     "tvix-build" = rec {
       packageId = "tvix-build";
       build = internal.buildRustCrateWithFeatures {
@@ -7419,6 +7429,72 @@ rec {
         features = { };
         resolvedDefaultFeatures = [ "compile-tests" ];
       };
+      "nix-daemon" = rec {
+        crateName = "nix-daemon";
+        version = "0.1.0";
+        edition = "2021";
+        crateBin = [
+          {
+            name = "nix-daemon";
+            path = "src/bin/nix-daemon.rs";
+            requiredFeatures = [ ];
+          }
+        ];
+        src = lib.cleanSourceWith { filter = sourceFilter; src = ./nix-daemon; };
+        dependencies = [
+          {
+            name = "async-trait";
+            packageId = "async-trait";
+          }
+          {
+            name = "clap";
+            packageId = "clap";
+            features = [ "derive" "env" ];
+          }
+          {
+            name = "futures";
+            packageId = "futures";
+          }
+          {
+            name = "mimalloc";
+            packageId = "mimalloc";
+          }
+          {
+            name = "nix-compat";
+            packageId = "nix-compat";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "fs" "macros" "net" "rt" "rt-multi-thread" "signal" ];
+          }
+          {
+            name = "tokio-listener";
+            packageId = "tokio-listener";
+          }
+          {
+            name = "tracing";
+            packageId = "tracing";
+          }
+          {
+            name = "tvix-castore";
+            packageId = "tvix-castore";
+          }
+          {
+            name = "tvix-store";
+            packageId = "tvix-store";
+          }
+          {
+            name = "tvix-tracing";
+            packageId = "tvix-tracing";
+          }
+        ];
+        features = {
+          "default" = [ "otlp" ];
+          "otlp" = [ "tvix-tracing/otlp" ];
+        };
+        resolvedDefaultFeatures = [ "default" "otlp" ];
+      };
       "nohash-hasher" = rec {
         crateName = "nohash-hasher";
         version = "0.2.0";