about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--third_party/nix/src/nix-daemon/nix-daemon.cc3
-rw-r--r--third_party/nix/src/proto/worker.proto4
2 files changed, 6 insertions, 1 deletions
diff --git a/third_party/nix/src/nix-daemon/nix-daemon.cc b/third_party/nix/src/nix-daemon/nix-daemon.cc
index da3d909f18..5296199380 100644
--- a/third_party/nix/src/nix-daemon/nix-daemon.cc
+++ b/third_party/nix/src/nix-daemon/nix-daemon.cc
@@ -630,12 +630,13 @@ static void performOp(TunnelLogger* logger, const ref<Store>& store,
       break;
     }
 
-    case wopOptimiseStore:
+    case wopOptimiseStore: {
       logger->startWork();
       store->optimiseStore();
       logger->stopWork();
       to << 1;
       break;
+    }
 
     case wopVerifyStore: {
       bool checkContents;
diff --git a/third_party/nix/src/proto/worker.proto b/third_party/nix/src/proto/worker.proto
index d3e8f65f20..ad1810b4d5 100644
--- a/third_party/nix/src/proto/worker.proto
+++ b/third_party/nix/src/proto/worker.proto
@@ -78,6 +78,10 @@ service Worker {
   // Return all currently valid derivations that have the given store path as an
   // output.
   rpc QueryValidDerivers(StorePath) returns (StorePaths);
+
+  // Optimise the disk space usage of the Nix store by hard-linking files
+  // with the same contents.
+  rpc OptimiseStore(google.protobuf.Empty) returns (google.protobuf.Empty);
 }
 
 enum HashType {