diff --git a/nixos/modules/services/backup/duplicati.nix b/nixos/modules/services/backup/duplicati.nix index 2b9e171d7d80..85f508141ba7 100644 --- a/nixos/modules/services/backup/duplicati.nix +++ b/nixos/modules/services/backup/duplicati.nix @@ -1,27 +1,24 @@ { config, pkgs, lib, ... }: - -with lib; - let cfg = config.services.duplicati; in { options = { services.duplicati = { - enable = mkEnableOption "Duplicati"; + enable = lib.mkEnableOption "Duplicati"; - package = mkPackageOption pkgs "duplicati" { }; + package = lib.mkPackageOption pkgs "duplicati" { }; - port = mkOption { + port = lib.mkOption { default = 8200; - type = types.port; + type = lib.types.port; description = '' Port serving the web interface ''; }; - dataDir = mkOption { - type = types.str; + dataDir = lib.mkOption { + type = lib.types.str; default = "/var/lib/duplicati"; description = '' The directory where Duplicati stores its data files. @@ -34,18 +31,18 @@ in ''; }; - interface = mkOption { + interface = lib.mkOption { default = "127.0.0.1"; - type = types.str; + type = lib.types.str; description = '' Listening interface for the web UI Set it to "any" to listen on all available interfaces ''; }; - user = mkOption { + user = lib.mkOption { default = "duplicati"; - type = types.str; + type = lib.types.str; description = '' Duplicati runs as it's own user. It will only be able to backup world-readable files. Run as root with special care. @@ -54,21 +51,21 @@ in }; }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; systemd.services.duplicati = { description = "Duplicati backup"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig = mkMerge [ + serviceConfig = lib.mkMerge [ { User = cfg.user; Group = "duplicati"; ExecStart = "${cfg.package}/bin/duplicati-server --webservice-interface=${cfg.interface} --webservice-port=${toString cfg.port} --server-datafolder=${cfg.dataDir}"; Restart = "on-failure"; } - (mkIf (cfg.dataDir == "/var/lib/duplicati") { + (lib.mkIf (cfg.dataDir == "/var/lib/duplicati") { StateDirectory = "duplicati"; }) ];