{ pkgs, ... }: { systemd.user.services.nomarchy-battery-monitor = { Unit = { Description = "Nomarchy Battery Monitor Check"; After = [ "graphical-session.target" ]; # Skip on hosts with no battery (VMs, desktops) — otherwise the # monitor script fails and degrades the user session. ConditionPathExistsGlob = "/sys/class/power_supply/BAT*"; }; Service = { Type = "oneshot"; # The script is packaged in nomarchy-scripts which is in the home profile ExecStart = "nomarchy-battery-monitor"; Environment = [ "DISPLAY=:0" ]; LogLevelMax = "warning"; }; }; systemd.user.timers.nomarchy-battery-monitor = { Unit = { Description = "Nomarchy Battery Monitor Timer"; ConditionPathExistsGlob = "/sys/class/power_supply/BAT*"; }; Timer = { OnBootSec = "1min"; OnUnitActiveSec = "30sec"; AccuracySec = "10sec"; }; Install = { WantedBy = [ "timers.target" ]; }; }; }