about summary refs log tree commit diff
path: root/third_party/nix
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix')
-rw-r--r--third_party/nix/README.md2
-rw-r--r--third_party/nix/default.nix19
2 files changed, 12 insertions, 9 deletions
diff --git a/third_party/nix/README.md b/third_party/nix/README.md
index 9e3d7486c87a..36ba7d0c2742 100644
--- a/third_party/nix/README.md
+++ b/third_party/nix/README.md
@@ -144,7 +144,7 @@ nix-shell.
 mkdir ~/build/tvix
 cd ~/build/tvix
 
-nix-shell $DEPOT_PATH -A third_party.nix
+nix-shell $DEPOT_PATH -A third_party.nix.build-shell
 
 # Disable clang-tidy for quicker builds
 cmake $DEPOT_PATH -DCLANG_TIDY_PATH=""
diff --git a/third_party/nix/default.nix b/third_party/nix/default.nix
index c8ed5adc8720..a5f2e5bd7677 100644
--- a/third_party/nix/default.nix
+++ b/third_party/nix/default.nix
@@ -30,7 +30,7 @@ let
       --plugin=protoc-gen-grpc=${pkgs.grpc}/bin/grpc_cpp_plugin --grpc_out=$out/libproto \
       $PROTO_SRCS/*.proto
   '';
-in pkgs.llvmPackages.libcxxStdenv.mkDerivation {
+in lib.fix (self: pkgs.llvmPackages.libcxxStdenv.mkDerivation {
   pname = "tvix";
   version = "2.3.4";
   inherit src;
@@ -133,13 +133,16 @@ in pkgs.llvmPackages.libcxxStdenv.mkDerivation {
     ln -s $out/bin/nix $out/libexec/nix/build-remote
   '';
 
-  shellHook = ''
-    export NIX_DATA_DIR="${toString depotPath}/third_party"
-    export NIX_TEST_VAR=foo
-  '';
-
   # TODO(tazjin): integration test setup?
   # TODO(tazjin): docs generation?
 
-  passthru = { test-vm = import ./test-vm.nix args; };
-}
+  passthru = {
+    build-shell = self.overrideAttrs (_: {
+      shellHook = ''
+        export NIX_DATA_DIR="${toString depotPath}/third_party"
+        export NIX_TEST_VAR=foo
+      '';
+    });
+    test-vm = import ./test-vm.nix args;
+  };
+})