about summary refs log tree commit diff
path: root/src/nix
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix')
-rw-r--r--src/nix/command.cc9
-rw-r--r--src/nix/command.hh5
2 files changed, 10 insertions, 4 deletions
diff --git a/src/nix/command.cc b/src/nix/command.cc
index 9c80f43093c5..0c2103392f8e 100644
--- a/src/nix/command.cc
+++ b/src/nix/command.cc
@@ -57,9 +57,16 @@ bool MultiCommand::processArgs(const Strings & args, bool finish)
         return Args::processArgs(args, finish);
 }
 
+StoreCommand::StoreCommand()
+{
+    storeUri = getEnv("NIX_REMOTE");
+
+    mkFlag(0, "store", "store-uri", "URI of the Nix store to use", &storeUri);
+}
+
 void StoreCommand::run()
 {
-    run(openStore());
+    run(openStoreAt(storeUri));
 }
 
 }
diff --git a/src/nix/command.hh b/src/nix/command.hh
index 27c3ab7f2134..5bf391d9367f 100644
--- a/src/nix/command.hh
+++ b/src/nix/command.hh
@@ -18,9 +18,8 @@ class Store;
 /* A command that require a Nix store. */
 struct StoreCommand : virtual Command
 {
-    bool reserveSpace;
-    StoreCommand(bool reserveSpace = true)
-        : reserveSpace(reserveSpace) { };
+    std::string storeUri;
+    StoreCommand();
     void run() override;
     virtual void run(ref<Store>) = 0;
 };