Merge pull request #221964 from randomnetcat/sanoid-service-package

sanoid/syncoid: Add package options

Changed files
+6 -2
nixos
modules
services
+3 -1
nixos/modules/services/backup/sanoid.nix
···
options.services.sanoid = {
enable = mkEnableOption (lib.mdDoc "Sanoid ZFS snapshotting service");
+
package = lib.mkPackageOptionMD pkgs "sanoid" {};
+
interval = mkOption {
type = types.str;
default = "hourly";
···
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)
+3 -1
nixos/modules/services/backup/syncoid.nix
···
options.services.syncoid = {
enable = mkEnableOption (lib.mdDoc "Syncoid ZFS synchronization service");
+
package = lib.mkPackageOptionMD pkgs "sanoid" {};
+
interval = mkOption {
type = types.str;
default = "hourly";
···
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 ]