diff options
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/globals.cc | 1 | ||||
-rw-r--r-- | src/libstore/globals.hh | 3 | ||||
-rw-r--r-- | src/libstore/remote-store.cc | 5 |
3 files changed, 8 insertions, 1 deletions
diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc index 466d0e0b26d7..e8c033db2ec1 100644 --- a/src/libstore/globals.cc +++ b/src/libstore/globals.cc @@ -15,6 +15,7 @@ string nixStateDir = "/UNINIT"; string nixDBPath = "/UNINIT"; string nixConfDir = "/UNINIT"; string nixLibexecDir = "/UNINIT"; +string nixBinDir = "/UNINIT"; bool keepFailed = false; bool keepGoing = false; diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh index b93f5d62c1ef..fbb9e19d6ab6 100644 --- a/src/libstore/globals.hh +++ b/src/libstore/globals.hh @@ -32,6 +32,9 @@ extern string nixConfDir; stored. */ extern string nixLibexecDir; +/* nixBinDir is the directory where the main programs are stored. */ +extern string nixBinDir; + /* Misc. global flags. */ diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc index 0ed96bd23976..d8b629af63d0 100644 --- a/src/libstore/remote-store.cc +++ b/src/libstore/remote-store.cc @@ -3,6 +3,7 @@ #include "remote-store.hh" #include "worker-protocol.hh" #include "archive.hh" +#include "globals.hh" #include <sys/types.h> #include <sys/stat.h> @@ -27,7 +28,9 @@ RemoteStore::RemoteStore() /* Start the worker. */ - string worker = "nix-worker"; + Path worker = getEnv("NIX_WORKER"); + if (worker == "") + worker = nixBinDir + "/nix-worker"; child = fork(); |