about summary refs log tree commit diff
path: root/third_party/nix/src/libstore/globals.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix/src/libstore/globals.cc')
-rw-r--r--third_party/nix/src/libstore/globals.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/third_party/nix/src/libstore/globals.cc b/third_party/nix/src/libstore/globals.cc
index 1e194135cc9a..34f5d4605bf5 100644
--- a/third_party/nix/src/libstore/globals.cc
+++ b/third_party/nix/src/libstore/globals.cc
@@ -1,6 +1,7 @@
 #include "libstore/globals.hh"
 
 #include <algorithm>
+#include <filesystem>
 #include <map>
 #include <thread>
 
@@ -70,7 +71,9 @@ Settings::Settings()
 }
 
 void loadConfFile() {
-  globalConfig.applyConfigFile(settings.nixConfDir + "/nix.conf");
+  if (std::filesystem::exists(settings.nixConfDir + "/nix.conf")) {
+    globalConfig.applyConfigFile(settings.nixConfDir + "/nix.conf");
+  }
 
   /* We only want to send overrides to the daemon, i.e. stuff from
      ~/.nix/nix.conf or the command line. */
@@ -80,7 +83,9 @@ void loadConfFile() {
   // Iterate over them in reverse so that the ones appearing first in the path
   // take priority
   for (auto dir = dirs.rbegin(); dir != dirs.rend(); dir++) {
-    globalConfig.applyConfigFile(*dir + "/nix/nix.conf");
+    if (std::filesystem::exists(*dir + "/nix.conf")) {
+      globalConfig.applyConfigFile(*dir + "/nix/nix.conf");
+    }
   }
 }