about summary refs log tree commit diff
path: root/users/picnoir/tvix-daemon/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/picnoir/tvix-daemon/default.nix')
-rw-r--r--users/picnoir/tvix-daemon/default.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/users/picnoir/tvix-daemon/default.nix b/users/picnoir/tvix-daemon/default.nix
new file mode 100644
index 0000000000..78b9aa9a1d
--- /dev/null
+++ b/users/picnoir/tvix-daemon/default.nix
@@ -0,0 +1,43 @@
+{ depot, pkgs, ... }:
+
+let
+  crate2nix = pkgs.callPackage ./Cargo.nix {
+    defaultCrateOverrides = {
+      tvix-castore = prev: {
+        PROTO_ROOT = depot.tvix.castore.protos.protos;
+        nativeBuildInputs = protobufDep prev;
+      };
+
+      tvix-store = prev: {
+        PROTO_ROOT = depot.tvix.store.protos.protos;
+        nativeBuildInputs = protobufDep prev;
+      };
+    };
+  };
+  protobufDep = prev: (prev.nativeBuildInputs or [ ]) ++ [ pkgs.buildPackages.protobuf ];
+in
+{
+  shell = (import ./shell.nix { inherit pkgs; });
+  tvix-daemon = crate2nix.rootCrate.build;
+  clippy = pkgs.stdenv.mkDerivation {
+    name = "tvix-daemon-clippy";
+    # The cleaned sources.
+    src = depot.third_party.gitignoreSource ./.;
+    cargoDeps = crate2nix.allWorkspaceMembers;
+
+    nativeBuildInputs = with pkgs; [
+      cargo
+      clippy
+      pkg-config
+      protobuf
+      rustc
+      rustPlatform.cargoSetupHook
+    ];
+
+    buildPhase = "cargo clippy --tests --all-features --benches --examples | tee $out";
+  };
+  meta.ci.targets = [
+    "tvix-daemon"
+    "shell"
+  ];
+}