aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-10-23 19:34:49 +0200
committerEelco Dolstra <edolstra@gmail.com>2017-10-23 20:50:28 +0200
commitf32cdc4fab1bff919c3d074a95e32a9934eb7386 (patch)
treeaf13b2222601d16d596629faf0093298a8e461cc /src
parent38dcd0c4b8789f3ae5c9384e103123ec44f76b71 (diff)
Turn $NIX_REMOTE into a configuration option
Diffstat (limited to 'src')
-rw-r--r--src/libstore/globals.hh4
-rw-r--r--src/libstore/store-api.hh5
-rw-r--r--src/nix/command.cc5
-rw-r--r--src/nix/command.hh1
4 files changed, 8 insertions, 7 deletions
diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh
index 264e82a16..12d57b3e7 100644
--- a/src/libstore/globals.hh
+++ b/src/libstore/globals.hh
@@ -2,6 +2,7 @@
#include "types.hh"
#include "config.hh"
+#include "util.hh"
#include <map>
#include <limits>
@@ -84,6 +85,9 @@ public:
/* File name of the socket the daemon listens to. */
Path nixDaemonSocketFile;
+ Setting<std::string> storeUri{this, getEnv("NIX_REMOTE", "auto"), "store",
+ "The default Nix store to use."};
+
Setting<bool> keepFailed{this, false, "keep-failed",
"Whether to keep temporary directories of failed builds."};
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index 5f3d8c7b9..d1e1b5d6f 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -716,7 +716,7 @@ void removeTempRoots();
You can pass parameters to the store implementation by appending
‘?key=value&key=value&...’ to the URI.
*/
-ref<Store> openStore(const std::string & uri = getEnv("NIX_REMOTE"),
+ref<Store> openStore(const std::string & uri = settings.storeUri.get(),
const Store::Params & extraParams = Store::Params());
@@ -727,7 +727,8 @@ enum StoreType {
};
-StoreType getStoreType(const std::string & uri = getEnv("NIX_REMOTE"), const std::string & stateDir = settings.nixStateDir);
+StoreType getStoreType(const std::string & uri = settings.storeUri.get(),
+ const std::string & stateDir = settings.nixStateDir);
/* Return the default substituter stores, defined by the
‘substituters’ option and various legacy options like
diff --git a/src/nix/command.cc b/src/nix/command.cc
index 0f6bb294b..70d642605 100644
--- a/src/nix/command.cc
+++ b/src/nix/command.cc
@@ -78,9 +78,6 @@ bool MultiCommand::processArgs(const Strings & args, bool finish)
StoreCommand::StoreCommand()
{
- storeUri = getEnv("NIX_REMOTE");
-
- mkFlag(0, "store", "store-uri", "URI of the Nix store to use", &storeUri);
}
ref<Store> StoreCommand::getStore()
@@ -92,7 +89,7 @@ ref<Store> StoreCommand::getStore()
ref<Store> StoreCommand::createStore()
{
- return openStore(storeUri);
+ return openStore();
}
void StoreCommand::run()
diff --git a/src/nix/command.hh b/src/nix/command.hh
index bf897f620..77ca8cfb6 100644
--- a/src/nix/command.hh
+++ b/src/nix/command.hh
@@ -33,7 +33,6 @@ class Store;
/* A command that require a Nix store. */
struct StoreCommand : virtual Command
{
- std::string storeUri;
StoreCommand();
void run() override;
ref<Store> getStore();