programs: fix so environment variables make it onto user sessions
This commit is contained in:
parent
27f3b2bd76
commit
d54f8b1e93
|
@ -307,7 +307,8 @@ let
|
|||
# conditionally add to system PATH and env
|
||||
environment = lib.optionalAttrs (p.enabled && p.enableFor.system) {
|
||||
systemPackages = lib.optional (p.package != null) p.package;
|
||||
variables = p.env;
|
||||
# sessionVariables are set by PAM, as opposed to environment.variables which goes in /etc/profile
|
||||
sessionVariables = p.env;
|
||||
};
|
||||
|
||||
# conditionally add to user(s) PATH
|
||||
|
@ -392,7 +393,7 @@ in
|
|||
take = f: {
|
||||
assertions = f.assertions;
|
||||
environment.systemPackages = f.environment.systemPackages;
|
||||
environment.variables = f.environment.variables;
|
||||
environment.sessionVariables = f.environment.sessionVariables;
|
||||
users.users = f.users.users;
|
||||
sane.sandboxProfiles = f.sane.sandboxProfiles;
|
||||
sane.users = f.sane.users;
|
||||
|
|
|
@ -100,14 +100,19 @@ let
|
|||
# homeMode defaults to 700; notice: no leading 0
|
||||
mode = "0" + nixConfig.users.users."${name}".homeMode;
|
||||
};
|
||||
fs.".profile".symlink.text =
|
||||
# ~/.config/environment.d/*.conf is added to systemd user units.
|
||||
# - format: lines of: `key=value`
|
||||
# ~/.profile is added by *some* login shells.
|
||||
# - format: lines of: `export key="value"`
|
||||
# see: `man environment.d`
|
||||
fs.".config/environment.d/10-sane-nixos-users.conf".symlink.text =
|
||||
let
|
||||
env = lib.mapAttrsToList
|
||||
(key: value: ''export ${key}="${value}"'')
|
||||
(key: value: ''${key}=${value}'')
|
||||
config.environment
|
||||
;
|
||||
in
|
||||
lib.concatStringsSep "\n" env;
|
||||
lib.concatStringsSep "\n" env + "\n";
|
||||
}
|
||||
{
|
||||
fs = lib.mkMerge (mapAttrsToList (serviceName: value:
|
||||
|
|
Loading…
Reference in New Issue
Block a user