home-environment: use per-user profile path in /etc

Before the profile directory value would point directly to the build
output in the Nix store. Unfortunately this would cause an infinite
loop if the user's configuration directly or indirectly refers to the
profile directory value.

Fixes #1188
This commit is contained in:
Robert Helgesson
2020-06-17 23:33:13 +02:00
parent 1a8ab9d9de
commit a49ce0e9ed
3 changed files with 5 additions and 1 deletions

View File

@@ -88,6 +88,8 @@ in {
(mapAttrs (username: usercfg: { packages = [ usercfg.home.path ]; })
cfg.users);
environment.pathsToLink = mkIf cfg.useUserPackages [ "/etc/profile.d" ];
systemd.services = mapAttrs' (_: usercfg:
let username = usercfg.home.username;
in nameValuePair ("home-manager-${utils.escapeSystemdPath username}") {