nixos/systemd: disable timer units with service

A disabled systemd service with a "startAt" attribute, like this:

  systemd.services.foo-service = {
    enable = false;
    startAt = "*-*-* 05:15:00";
    ...
  };

will cause the following errors in the system journal:

  systemd[1]: foo-service.timer: Refusing to start, unit to trigger not loaded.
  systemd[1]: Failed to start foo-service.timer.

Fix it by not generating the corresponding timer unit when the service
is disabled.
This commit is contained in:
Bjørn Forsman 2016-07-06 18:50:05 +02:00
parent 15d28334a7
commit 2eb8aab42c

View file

@ -764,7 +764,7 @@ in
{ wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = service.startAt;
})
(filterAttrs (name: service: service.startAt != "") cfg.services);
(filterAttrs (name: service: service.enable && service.startAt != "") cfg.services);
# Generate timer units for all services that have a startAt value.
systemd.user.timers =