activationScripts.notifyActive: fix forrenamed XDG_RUNTIME_DIR

This commit is contained in:
Colin 2024-05-30 10:56:17 +00:00
parent 2531cc1cf6
commit bfbcb4789b

View File

@ -1182,16 +1182,20 @@ in
}));
system.activationScripts.notifyActive = lib.mkIf config.sane.programs.guiApps.enabled {
text = ''
# notify all logged-in users that the system has been activated/upgraded.
if [ -d /run/user ]; then
for uid in $(ls /run/user); do
PATH="$PATH:${pkgs.sudo}/bin" \
sudo -u "#$uid" env DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$uid/bus" \
PATH="$PATH:${pkgs.libnotify}/bin" \
notify-send 'nixos activated' "version: $(cat "$systemConfig/nixos-version")"
done
fi
'';
text = lib.concatStringsSep "\n" ([
''
tryNotifyUser() {
local user="$1"
local new_path="$PATH:${pkgs.sudo}/bin:${pkgs.libnotify}/bin"
local version="$(cat $systemConfig/nixos-version)"
PATH="$new_path" sudo -u "$user" \
env PATH="$new_path" NIXOS_VERSION="$version" /bin/sh -c \
'. $HOME/.profile; dbus_file="$XDG_RUNTIME_DIR/bus"; if [ -e "$dbus_file" ]; then DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_file" notify-send "nixos activated" "version: $NIXOS_VERSION" ; fi'
}
''
] ++ lib.mapAttrsToList
(user: en: lib.optionalString en "tryNotifyUser ${user}")
config.sane.programs.guiApps.enableFor.user
);
};
}