diff options
| author | Daiderd Jordan <daiderd@gmail.com> | 2019-02-23 11:43:39 +0100 |
|---|---|---|
| committer | Daiderd Jordan <daiderd@gmail.com> | 2019-02-23 12:00:39 +0100 |
| commit | 6c6c8f21645f23c75bc25417c4fe6d5fb02eabd4 (patch) | |
| tree | 464759deb679d6f06c2bafe16ef1c31325b33677 | |
| parent | ece03c592e6d254210dbd5f5dbf3032312246f03 (diff) | |
users.users: only extend profiles if packages are defined
| -rw-r--r-- | modules/users/default.nix | 6 | ||||
| -rw-r--r-- | tests/environment-path.nix | 4 | ||||
| -rw-r--r-- | tests/users-packages.nix | 3 |
3 files changed, 9 insertions, 4 deletions
diff --git a/modules/users/default.nix b/modules/users/default.nix index b3ccb90..5e75694 100644 --- a/modules/users/default.nix +++ b/modules/users/default.nix @@ -17,6 +17,8 @@ let createdUsers = mapAttrsToList (n: v: v) (filterAttrs (n: v: isCreated cfg.knownUsers v.name) cfg.users); deletedGroups = filter (n: isDeleted cfg.groups n) cfg.knownGroups; deletedUsers = filter (n: isDeleted cfg.users n) cfg.knownUsers; + + packageUsers = filterAttrs (_: u: u.packages != []) cfg.users; in { @@ -166,8 +168,8 @@ in inherit (config.environment) pathsToLink extraOutputsToInstall; inherit (config.system.path) postBuild; }; - }) (filterAttrs (_: u: u.packages != []) cfg.users); + }) packageUsers; - environment.profiles = mkOrder 900 [ "/etc/profiles/per-user/$USER" ]; + environment.profiles = mkIf (packageUsers != {}) (mkOrder 900 [ "/etc/profiles/per-user/$USER" ]); }; } diff --git a/tests/environment-path.nix b/tests/environment-path.nix index d347c7d..7d2f46d 100644 --- a/tests/environment-path.nix +++ b/tests/environment-path.nix @@ -4,10 +4,10 @@ with lib; { test = '' - echo checking /run/current-system/sw/bin in setEnvironment >&2 + echo checking /run/current-system/sw/bin in environment >&2 grep 'export PATH=.*:/run/current-system/sw/bin' ${config.system.build.setEnvironment} - echo checking /bin and /sbin in setEnvironment >&2 + echo checking /bin and /sbin in environment >&2 grep 'export PATH=.*:/usr/bin:/usr/sbin:/bin:/sbin' ${config.system.build.setEnvironment} ''; } diff --git a/tests/users-packages.nix b/tests/users-packages.nix index c7d9895..0233897 100644 --- a/tests/users-packages.nix +++ b/tests/users-packages.nix @@ -24,5 +24,8 @@ in echo checking for unexpected paths in /etc/profiles/per-user/foo/bin >&2 test -e ${config.out}/etc/profiles/per-user/foo/lib/libhello.dylib && return + + echo "checking /etc/profiles/per-user/foo/bin in environment" >&2 + grep 'export PATH=.*:/etc/profiles/per-user/$USER/bin' ${config.system.build.setEnvironment} ''; } |
