summary refs log tree commit diff
path: root/nixos/modules/services/hardware/lcd.nix
diff options
context:
space:
mode:
authorlf- <lf-@users.noreply.github.com>2020-09-09 00:31:27 -0700
committerlf- <lf-@users.noreply.github.com>2020-10-31 01:35:56 -0700
commitb37bbca521556d30e564896eea56b41d63324fdf (patch)
treedff16af1c82314e010a1350c263d2f97426c16c9 /nixos/modules/services/hardware/lcd.nix
parent2df221ec8a95566ba771f102fd421c12b41d875c (diff)
downloadnixpkgs-b37bbca521556d30e564896eea56b41d63324fdf.tar
nixpkgs-b37bbca521556d30e564896eea56b41d63324fdf.tar.gz
nixpkgs-b37bbca521556d30e564896eea56b41d63324fdf.tar.bz2
nixpkgs-b37bbca521556d30e564896eea56b41d63324fdf.tar.lz
nixpkgs-b37bbca521556d30e564896eea56b41d63324fdf.tar.xz
nixpkgs-b37bbca521556d30e564896eea56b41d63324fdf.tar.zst
nixpkgs-b37bbca521556d30e564896eea56b41d63324fdf.zip
nixos/modules: fix systemd start rate-limits
These were broken since 2016:
https://github.com/systemd/systemd/commit/f0367da7d1a61ad698a55d17b5c28ddce0dc265a
since StartLimitIntervalSec got moved into [Unit] from [Service].
StartLimitBurst has also been moved accordingly, so let's fix that one
too.

NixOS systems have been producing logs such as:
/nix/store/wf98r55aszi1bkmln1lvdbp7znsfr70i-unit-caddy.service/caddy.service:31:
Unknown key name 'StartLimitIntervalSec' in section 'Service', ignoring.

I have also removed some unnecessary duplication in units disabling
rate limiting since setting either interval or burst to zero disables it
(https://github.com/systemd/systemd/blob/ad16158c10dfc3258831a9ff2f1a988214f51653/src/basic/ratelimit.c#L16)
Diffstat (limited to 'nixos/modules/services/hardware/lcd.nix')
-rw-r--r--nixos/modules/services/hardware/lcd.nix5
1 files changed, 2 insertions, 3 deletions
diff --git a/nixos/modules/services/hardware/lcd.nix b/nixos/modules/services/hardware/lcd.nix
index d78d742cd31..dc8595ea60c 100644
--- a/nixos/modules/services/hardware/lcd.nix
+++ b/nixos/modules/services/hardware/lcd.nix
@@ -151,14 +151,13 @@ in with lib; {
         description = "LCDproc - client";
         after = [ "lcdd.service" ];
         wantedBy = [ "lcd.target" ];
+        # Allow restarting for eternity
+        startLimitIntervalSec = lib.mkIf cfg.client.restartForever 0;
         serviceConfig = serviceCfg // {
           ExecStart = "${pkg}/bin/lcdproc -f -c ${clientCfg}";
           # If the server is being restarted at the same time, the client will
           # fail as it cannot connect, so space it out a bit.
           RestartSec = "5";
-          # Allow restarting for eternity
-          StartLimitIntervalSec = lib.mkIf cfg.client.restartForever "0";
-          StartLimitBurst = lib.mkIf cfg.client.restartForever "0";
         };
       };
     };