From 1033d0f6ac13b7a948090252a2d4386a08deb5b8 Mon Sep 17 00:00:00 2001 From: Janet Cobb Date: Sun, 19 Mar 2023 01:34:01 -0400 Subject: (nixos/sanoid, nixos/syncoid): Add package options Allows changing the sanoid package to be used for these services. --- nixos/modules/services/backup/sanoid.nix | 4 +++- nixos/modules/services/backup/syncoid.nix | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'nixos') diff --git a/nixos/modules/services/backup/sanoid.nix b/nixos/modules/services/backup/sanoid.nix index a51708170fb..aae77cee07d 100644 --- a/nixos/modules/services/backup/sanoid.nix +++ b/nixos/modules/services/backup/sanoid.nix @@ -114,6 +114,8 @@ in options.services.sanoid = { enable = mkEnableOption (lib.mdDoc "Sanoid ZFS snapshotting service"); + package = lib.mkPackageOptionMD pkgs "sanoid" {}; + interval = mkOption { type = types.str; default = "hourly"; @@ -181,7 +183,7 @@ in ExecStartPre = (map (buildAllowCommand "allow" [ "snapshot" "mount" "destroy" ]) datasets); ExecStopPost = (map (buildAllowCommand "unallow" [ "snapshot" "mount" "destroy" ]) datasets); ExecStart = lib.escapeShellArgs ([ - "${pkgs.sanoid}/bin/sanoid" + "${cfg.package}/bin/sanoid" "--cron" "--configdir" (pkgs.writeTextDir "sanoid.conf" configFile) diff --git a/nixos/modules/services/backup/syncoid.nix b/nixos/modules/services/backup/syncoid.nix index 6188f109463..0f375455e7e 100644 --- a/nixos/modules/services/backup/syncoid.nix +++ b/nixos/modules/services/backup/syncoid.nix @@ -87,6 +87,8 @@ in options.services.syncoid = { enable = mkEnableOption (lib.mdDoc "Syncoid ZFS synchronization service"); + package = lib.mkPackageOptionMD pkgs "sanoid" {}; + interval = mkOption { type = types.str; default = "hourly"; @@ -331,7 +333,7 @@ in ExecStopPost = (map (buildUnallowCommand c.localSourceAllow) (localDatasetName c.source)) ++ (map (buildUnallowCommand c.localTargetAllow) (localDatasetName c.target)); - ExecStart = lib.escapeShellArgs ([ "${pkgs.sanoid}/bin/syncoid" ] + ExecStart = lib.escapeShellArgs ([ "${cfg.package}/bin/syncoid" ] ++ optionals c.useCommonArgs cfg.commonArgs ++ optional c.recursive "-r" ++ optionals (c.sshKey != null) [ "--sshkey" c.sshKey ] -- cgit 1.4.1