Don't fail if we can't create ~/.local/share/nix/root

https://hydra.nixos.org/build/182135943
This commit is contained in:
Eelco Dolstra 2022-06-29 12:16:51 +02:00
parent 3c1814423b
commit 6cab528461

View file

@ -1326,9 +1326,14 @@ std::shared_ptr<Store> openFromNonUri(const std::string & uri, const Store::Para
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. */
auto chrootStore = getDataDir() + "/nix/root"; auto chrootStore = getDataDir() + "/nix/root";
if (!pathExists(chrootStore)) if (!pathExists(chrootStore)) {
try {
createDirs(chrootStore);
} catch (Error & e) {
return std::make_shared<LocalStore>(params);
}
warn("'/nix' does not exist, so Nix will use '%s' as a chroot store", chrootStore); warn("'/nix' does not exist, so Nix will use '%s' as a chroot store", chrootStore);
else } else
debug("'/nix' does not exist, so Nix will use '%s' as a chroot store", chrootStore); debug("'/nix' does not exist, so Nix will use '%s' as a chroot store", chrootStore);
Store::Params params2; Store::Params params2;
params2["root"] = chrootStore; params2["root"] = chrootStore;