Files
dotfiles/user/.chezmoiscripts/run_onchange_after_battery-charge-watchdog.sh.tmpl
T
2026-08-18 12:25:15 +02:00

34 lines
1.2 KiB
Cheetah

{{- if eq .chezmoi.os "linux" -}}
#!/usr/bin/env bash
#
# Enable the battery charge-controller watchdog.
#
# Re-runs whenever the unit or the watchdog script changes, so that an
# already-running instance picks up the new version.
set -e
[ "${CHEZMOI}" -eq 1 ] || exit 1
# unit hash: {{ include (joinPath .chezmoi.sourceDir "dot_config/systemd/user/battery-charge-watchdog.service") | sha256sum }}
# script hash: {{ include (joinPath .chezmoi.sourceDir "dot_config/scripts/executable_battery-charge-watchdog.sh") | sha256sum }}
# Applying from a TTY or a container has no user bus; skip rather than
# aborting the whole apply.
if ! systemctl --user show-environment > /dev/null 2>&1; then
echo "No systemd user session, skipping battery-charge-watchdog activation"
exit 0
fi
systemctl --user daemon-reload
# The unit carries ConditionPathExists on the battery, so enabling it on a
# machine without one is harmless: it simply never starts.
systemctl --user enable --now battery-charge-watchdog.service
# enable --now will not restart an instance that is already running, so an
# updated script or unit would otherwise not take effect until next login.
systemctl --user try-restart battery-charge-watchdog.service
# vim: syntax=bash ft=template
{{- end -}}