Disable auto-chroot if $NIX_STATE_DIR is set

Issue #6732.
This commit is contained in:
Eelco Dolstra 2022-07-15 12:32:29 +02:00
parent de287964d5
commit 3bcd7a5474

View file

@ -1321,7 +1321,12 @@ std::shared_ptr<Store> openFromNonUri(const std::string & uri, const Store::Para
else if (pathExists(settings.nixDaemonSocketFile)) else if (pathExists(settings.nixDaemonSocketFile))
return std::make_shared<UDSRemoteStore>(params); return std::make_shared<UDSRemoteStore>(params);
#if __linux__ #if __linux__
else if (!pathExists(stateDir) && params.empty() && getuid() != 0 && !getEnv("NIX_STORE_DIR").has_value()) { else if (!pathExists(stateDir)
&& params.empty()
&& getuid() != 0
&& !getEnv("NIX_STORE_DIR").has_value()
&& !getEnv("NIX_STATE_DIR").has_value())
{
/* If /nix doesn't exist, there is no daemon socket, and /* If /nix doesn't exist, there is no daemon socket, and
we're not root, then automatically set up a chroot we're not root, then automatically set up a chroot
store in ~/.local/share/nix/root. */ store in ~/.local/share/nix/root. */