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"; }; }; };