diff --git a/misc/launchd/org.nixos.nix-daemon.plist.in b/misc/launchd/org.nixos.nix-daemon.plist.in
index c5ef97ee9..66fcd155e 100644
--- a/misc/launchd/org.nixos.nix-daemon.plist.in
+++ b/misc/launchd/org.nixos.nix-daemon.plist.in
@@ -12,10 +12,5 @@
/var/log/nix-daemon.log
StandardOutPath
/dev/null
- EnvironmentVariables
-
- NIX_SSL_CERT_FILE
- /nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt
-
diff --git a/src/libstore/download.cc b/src/libstore/download.cc
index 63e498f06..33ab1f027 100644
--- a/src/libstore/download.cc
+++ b/src/libstore/download.cc
@@ -221,9 +221,10 @@ struct CurlDownloader : public Downloader
if (request.head)
curl_easy_setopt(req, CURLOPT_NOBODY, 1);
- if (request.verifyTLS)
- curl_easy_setopt(req, CURLOPT_CAINFO, settings.caFile.c_str());
- else {
+ if (request.verifyTLS) {
+ if (settings.caFile != "")
+ curl_easy_setopt(req, CURLOPT_CAINFO, settings.caFile.c_str());
+ } else {
curl_easy_setopt(req, CURLOPT_SSL_VERIFYPEER, 0);
curl_easy_setopt(req, CURLOPT_SSL_VERIFYHOST, 0);
}
diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
index 2aceed270..935018132 100644
--- a/src/libstore/globals.cc
+++ b/src/libstore/globals.cc
@@ -41,7 +41,15 @@ Settings::Settings()
{
buildUsersGroup = getuid() == 0 ? "nixbld" : "";
lockCPU = getEnv("NIX_AFFINITY_HACK", "1") == "1";
- caFile = getEnv("NIX_SSL_CERT_FILE", getEnv("SSL_CERT_FILE", "/etc/ssl/certs/ca-certificates.crt"));
+
+ caFile = getEnv("NIX_SSL_CERT_FILE", getEnv("SSL_CERT_FILE", ""));
+ if (caFile == "") {
+ for (auto & fn : {"/etc/ssl/certs/ca-certificates.crt", "/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt"})
+ if (pathExists(fn)) {
+ caFile = fn;
+ break;
+ }
+ }
/* Backwards compatibility. */
auto s = getEnv("NIX_REMOTE_SYSTEMS");