fix nixos activation notify-send

This commit is contained in:
2025-07-19 23:35:38 +00:00
parent e311e0e757
commit e016ed9272

View File

@@ -268,6 +268,10 @@ let
lib.concatStringsSep "\n" env + "\n";
fs.".profile".symlink.text = lib.mkMerge [
(lib.mkBefore ''
# N.B.: this file must be valid in all plausible shells.
# it's primarily sourced by the user shell,
# but it may actually be sourced by bash, and even by other users (notably root).
#
# sessionCommands: ordered sequence of functions which will be called whenever this file is sourced.
# primarySessionCommands: additional functions which will be called only for the main session (i.e. login through GUI).
# GUIs are expected to install a function to `primarySessionChecks` which returns true
@@ -326,7 +330,9 @@ let
# sessionCommands+=('setXdgSessionType')
sourceEnv() {
# source env vars and the like, as systemd would. `man environment.d`
for env in ~/.config/environment.d/*.conf; do
# XXX: can't use `~` or `$HOME` here as they might not be set
local home=${lib.escapeShellArg config.home}
for env in "$home"/.config/environment.d/*.conf; do
# surround with `set -o allexport` since environment.d doesn't explicitly `export` their vars
set -a
source "$env"
@@ -334,12 +340,21 @@ let
done
}
sessionCommands+=('sourceEnv')
ensurePath() {
# later sessionCommands might expect to run user-specific binaries,
# so make sure those are on PATH
local userBin=/etc/profiles/per-user/$USER/bin
if [[ ":$PATH:" != *":$userBin:"* ]]; then
export PATH="$PATH:$userBin"
fi
}
sessionCommands+=('ensurePath')
'')
(lib.mkAfter ''
sessionCommands+=('maybeInitPrimarySession')
if (( ''${+PROFILE} )); then
if [ -n "''${PROFILE+profile_is_set}" ]; then
# allow the user to override the profile or disable it completely.
if [ -x "$PROFILE" ]; then
source "$PROFILE"