# ABOUTME: Restores battery charge threshold from saved state on boot. # ABOUTME: Only runs on laptops with threshold support and a saved state file. [Unit] Description=Restore battery conservation mode threshold After=sysinit.target ConditionPathExists=/sys/class/power_supply/BAT0/charge_control_end_threshold ConditionPathExists=/var/lib/moonarch/batsaver-threshold [Service] Type=oneshot # Validate the threshold (integer 1–100) before writing. The state file is # written by wheel-group users via moonarch-batsaver-toggle; the kernel rejects # non-numeric values on sysfs, but validating here prevents noise on boot and # makes the trust boundary explicit. ExecStart=/bin/sh -c 'V=$(cat /var/lib/moonarch/batsaver-threshold); case "$V" in ""|*[!0-9]*) exit 0;; esac; [ "$V" -ge 1 ] && [ "$V" -le 100 ] && printf %s "$V" > /sys/class/power_supply/BAT0/charge_control_end_threshold' NoNewPrivileges=true ProtectHome=true PrivateTmp=true ProtectKernelModules=true ProtectControlGroups=true RestrictNamespaces=true RestrictRealtime=true LockPersonality=true [Install] WantedBy=multi-user.target