aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-10-09 19:21:07 +0200
committerEelco Dolstra <edolstra@gmail.com>2019-10-09 23:35:01 +0200
commit9348f9291e5d9e4ba3c4347ea1b235640f54fd79 (patch)
tree378c234f6f9577a9a57b350b4d20a3de49ad0c11 /src/libstore
parent26762ceb8629af95300c0cc8c372a99282060dc1 (diff)
nix-env: Create ~/.nix-profile automatically
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/local-store.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc
index 685d43c9c..2bc04da46 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -70,16 +70,17 @@ LocalStore::LocalStore(const Params & params)
createSymlink(profilesDir, gcRootsDir + "/profiles");
}
+ for (auto & perUserDir : {profilesDir + "/per-user", gcRootsDir + "/per-user"}) {
+ createDirs(perUserDir);
+ if (chmod(perUserDir.c_str(), 0755) == -1)
+ throw SysError("could not set permissions on '%s' to 755", perUserDir);
+ }
+
+ createUser(getUserName(), getuid());
+
/* Optionally, create directories and set permissions for a
multi-user install. */
if (getuid() == 0 && settings.buildUsersGroup != "") {
-
- for (auto & perUserDir : {profilesDir + "/per-user", gcRootsDir + "/per-user"}) {
- createDirs(perUserDir);
- if (chmod(perUserDir.c_str(), 0755) == -1)
- throw SysError("could not set permissions on '%s' to 755", perUserDir);
- }
-
mode_t perm = 01775;
struct group * gr = getgrnam(settings.buildUsersGroup.get().c_str());