summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/backup/znapzend.nix23
1 files changed, 22 insertions, 1 deletions
diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix
index a980ac1b3b0..8c5af80c8fb 100644
--- a/nixos/modules/services/backup/znapzend.nix
+++ b/nixos/modules/services/backup/znapzend.nix
@@ -9,6 +9,26 @@ in
   options = {
     services.znapzend = {
       enable = mkEnableOption "ZnapZend daemon";
+
+      logLevel = mkOption {
+        default = "debug";
+        example = "warning";
+        type = lib.types.enum ["debug" "info" "warning" "err" "alert"];
+        description = "The log level when logging to file. Any of debug, info, warning, err, alert. Default in daemonized form is debug.";
+      };
+
+      logTo = mkOption {
+        type = types.str;
+        default = "syslog::daemon";
+        example = "/var/log/znapzend.log";
+        description = "Where to log to (syslog::<facility> or <filepath>).";
+      };
+
+      noDestroy = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Does all changes to the filesystem except destroy";
+      };
     };
   };
 
@@ -24,8 +44,9 @@ in
         path = with pkgs; [ zfs mbuffer openssh ];
 
         serviceConfig = {
-          ExecStart = "${pkgs.znapzend}/bin/znapzend";
+          ExecStart = "${pkgs.znapzend}/bin/znapzend --logto=${cfg.logTo} --loglevel=${cfg.logLevel} ${optionalString cfg.noDestroy "--nodestroy"}";
           ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+          Restart = "on-failure";
         };
       };
     };