diff options
Diffstat (limited to 'os/srv/backup.nix')
| -rw-r--r-- | os/srv/backup.nix | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/os/srv/backup.nix b/os/srv/backup.nix new file mode 100644 index 0000000..dad9b66 --- /dev/null +++ b/os/srv/backup.nix @@ -0,0 +1,34 @@ +{ config, lib, ... }: +let + cfg = config.os.srv.backup; +in +{ + options.os.srv.backup.enable = lib.mkEnableOption "enables backups"; + config = lib.mkIf cfg.enable { + services.sanoid = { + enable = true; + templates.production = { + hourly = 36; + daily = 30; + monthly = 3; + }; + datasets."zroot/rpool/appdata/databases".useTemplate = [ "production" ]; + datasets."ztank/vault".useTemplates = [ "production" ]; + }; + services.syncoid = { + enable = true; + commands = { + "sync-db" = { + source = "zroot/rpool/appdata/databases"; + target = "ztank/backups/nvme/databases"; + sendOptions = "w"; + }; + "sync-configs" = { + source = "zroot/rpool/appdata/configs"; + target = "ztank/backups/nvme/configs"; + sendOptions = "w"; + }; + }; + }; + }; +} |
