Files
omarchy-pkgs/pkgbuilds/owe/package-restart
T

22 lines
831 B
Bash
Executable File

#!/bin/bash
# Run after systemd's 30-systemd-daemon-reload-user.hook. Image builds and
# offline installations have no running managers and must remain untouched.
if systemd-detect-virt --chroot || ! systemd-notify --booted; then
exit 0
fi
managers=$(systemctl list-units 'user@*.service' --state=running --no-legend --plain) || exit 1
result=0
while read -r unit _; do
[[ $unit =~ ^user@([0-9]+)\.service$ ]] || continue
user_id=${BASH_REMATCH[1]}
# Use the user's manager rather than pacman's root session. try-restart
# never starts a stopped service or changes its enablement.
if ! systemctl --user --machine="$user_id@.host" try-restart owed.service; then
echo ":: Could not restart OWE for user $user_id; restart owed.service in that user session." >&2
result=1
fi
done <<< "$managers"
exit "$result"