diff options
Diffstat (limited to 'nix/module.nix')
-rw-r--r-- | nix/module.nix | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/nix/module.nix b/nix/module.nix index 10c68ff..3263401 100644 --- a/nix/module.nix +++ b/nix/module.nix | |||
@@ -14,9 +14,14 @@ let | |||
14 | type = with types; either ints.positive str; | 14 | type = with types; either ints.positive str; |
15 | }; | 15 | }; |
16 | 16 | ||
17 | minSleep = mkOption { | ||
18 | type = with types; nullOr ints.positive; | ||
19 | default = 3600; | ||
20 | }; | ||
21 | |||
17 | monitorTimeout = mkOption { | 22 | monitorTimeout = mkOption { |
18 | type = with types; nullOr ints.positive; | 23 | type = with types; nullOr ints.positive; |
19 | default = 3600; | 24 | default = 3600 * 24; |
20 | }; | 25 | }; |
21 | }; | 26 | }; |
22 | }; | 27 | }; |
@@ -25,8 +30,11 @@ let | |||
25 | wantedBy = [ "multi-user.target" ]; | 30 | wantedBy = [ "multi-user.target" ]; |
26 | 31 | ||
27 | serviceConfig = { | 32 | serviceConfig = { |
28 | ExecStart = '' | 33 | ExecStart = let |
29 | ${pkgs.rolling-directory}/bin/rolling-directory %I ${toString dCfg.maxSize} monitor ${optionalString (dCfg.monitorTimeout != null) (toString dCfg.monitorTimeout)} | 34 | extraArgs = optionals (dCfg.monitorTimeout != null) ["-t" (toString dCfg.monitorTimeout)] |
35 | + optionals (dCfg.minSleep != null) ["-s" (toString dCfg.minSleep)]; | ||
36 | in '' | ||
37 | ${pkgs.rolling-directory}/bin/rolling-directory %I ${toString dCfg.maxSize} monitor ${escapeShellArgs extraArgs} | ||
30 | ''; | 38 | ''; |
31 | }; | 39 | }; |
32 | }; | 40 | }; |