about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-03-21T17·03+0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-03-21T17·03+0100
commitcebc150b7ccf534612d7d8c75200c1717e986566 (patch)
treeb3db195e6f64fbf78e27a4e85777b86c1e00975a
parent1c5f73f529d83543dc776b4de4180309bfd3b4a3 (diff)
nix: Add --store flag
This is a bit user-friendlier than using $NIX_REMOTE.
-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;
 };