diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2019-10-09T17·21+0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2019-10-09T22·00+0200 |
commit | f66108f738b43bf822b06d7ab62c0b7129fb454c (patch) | |
tree | f91a15c48c82d146e36de0b1fc727de44b5dc837 /src/libutil/util.cc | |
parent | 2070d55b0b3c39cc2e8b7ce3eb13567c92bd5433 (diff) |
nix-env: Create ~/.nix-profile automatically
(cherry picked from commit 9348f9291e5d9e4ba3c4347ea1b235640f54fd79)
Diffstat (limited to 'src/libutil/util.cc')
-rw-r--r-- | src/libutil/util.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc index 1b744999153a..6f3bf7ae86e3 100644 --- a/src/libutil/util.cc +++ b/src/libutil/util.cc @@ -475,6 +475,16 @@ Path createTempDir(const Path & tmpRoot, const Path & prefix, } +std::string getUserName() +{ + auto pw = getpwuid(geteuid()); + std::string name = pw ? pw->pw_name : getEnv("USER", ""); + if (name.empty()) + throw Error("cannot figure out user name"); + return name; +} + + static Lazy<Path> getHome2([]() { Path homeDir = getEnv("HOME"); if (homeDir.empty()) { |