bash: source session variables script

This replaces the explicit set within the Bash profile file.
This commit is contained in:
Robert Helgesson 2018-01-04 13:29:45 +01:00
parent a3250dfac7
commit 803abb58f9
No known key found for this signature in database
GPG key ID: C3DB11069E65DC86

View file

@ -131,16 +131,7 @@ in
map (v: "shopt -s ${v}") cfg.shellOptions map (v: "shopt -s ${v}") cfg.shellOptions
); );
# If Bash is the session variable setter then this is the sessionVarsStr = config.lib.shell.exportAll cfg.sessionVariables;
# attribute set of global session variables, otherwise it is an
# empty set.
globalEnvVars =
optionalAttrs
(config.home.sessionVariableSetter == "bash")
config.home.sessionVariables;
envVarsStr =
config.lib.shell.exportAll (cfg.sessionVariables // globalEnvVars);
historyControlStr = historyControlStr =
concatStringsSep "\n" (mapAttrsToList (n: v: "${n}=${v}") ( concatStringsSep "\n" (mapAttrsToList (n: v: "${n}=${v}") (
@ -185,7 +176,11 @@ in
home.file.".profile".text = '' home.file.".profile".text = ''
# -*- mode: sh -*- # -*- mode: sh -*-
${envVarsStr} ${optionalString (config.home.sessionVariableSetter != "pam") ''
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
''}
${sessionVarsStr}
${cfg.profileExtra} ${cfg.profileExtra}
''; '';