Классика: timer «не работает», потому что смотрели не на тот юнит. Порядок диагностики:
systemctl --user list-timers systemctl --user status my-task.timer journalctl --user -u my-task.service -n 50
OnUnitActiveSec=70 считает от последнего завершения — для «прогрева раз в минуту»
идеально, в отличие от OnCalendar, который ждёт календарной границы.
AccuracySec=5 снижает системную гранулярность, иначе будильник приедет через минуту.
Вторые грабли — Persistent=true на ноутбуке с гиги-режимом: после пробуждения systemd
догоняет все пропущенные запуски разом. Если догонять не надо — не включайте.
И третье: таймер в default.target живёт до logout. Для «дежурного» юзера —
loginctl enable-linger.