diff options
-rw-r--r-- | src/libstore/globals.hh | 4 | ||||
-rw-r--r-- | src/libstore/store-api.hh | 5 | ||||
-rw-r--r-- | src/nix/command.cc | 5 | ||||
-rw-r--r-- | src/nix/command.hh | 1 |
4 files changed, 8 insertions, 7 deletions
diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh index 264e82a16e20..12d57b3e7647 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 5f3d8c7b9529..d1e1b5d6f452 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 0f6bb294b38c..70d642605d88 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 bf897f620db6..77ca8cfb64bf 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(); |