diff options
Diffstat (limited to 'nixpkgs/nixos/modules/services/backup/zrepl.nix')
-rw-r--r-- | nixpkgs/nixos/modules/services/backup/zrepl.nix | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/nixpkgs/nixos/modules/services/backup/zrepl.nix b/nixpkgs/nixos/modules/services/backup/zrepl.nix index 4356479b6635..ea858a8b77db 100644 --- a/nixpkgs/nixos/modules/services/backup/zrepl.nix +++ b/nixpkgs/nixos/modules/services/backup/zrepl.nix @@ -13,11 +13,17 @@ in services.zrepl = { enable = mkEnableOption "zrepl"; + package = mkOption { + type = types.package; + default = pkgs.zrepl; + defaultText = literalExpression "pkgs.zrepl"; + description = lib.mdDoc "Which package to use for zrepl"; + }; + settings = mkOption { default = { }; - description = '' - Configuration for zrepl. See <link - xlink:href="https://zrepl.github.io/configuration.html"/> + description = lib.mdDoc '' + Configuration for zrepl. See <https://zrepl.github.io/configuration.html> for more information. ''; type = types.submodule { @@ -30,14 +36,17 @@ in ### Implementation ### config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.zrepl ]; + environment.systemPackages = [ cfg.package ]; # zrepl looks for its config in this location by default. This # allows the use of e.g. `zrepl signal wakeup <job>` without having # to specify the storepath of the config. environment.etc."zrepl/zrepl.yml".source = configFile; - systemd.packages = [ pkgs.zrepl ]; + systemd.packages = [ cfg.package ]; + + # Note that pkgs.zrepl copies and adapts the upstream systemd unit, and + # the fields defined here only override certain fields from that unit. systemd.services.zrepl = { requires = [ "local-fs.target" ]; wantedBy = [ "zfs.target" ]; |