{ 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" ];
    };
  };
}
