diff --git a/hosts/srv-private/default.nix b/hosts/srv-private/default.nix index 5429129..4cee387 100644 --- a/hosts/srv-private/default.nix +++ b/hosts/srv-private/default.nix @@ -38,25 +38,26 @@ filebrowser = { enable = true; - doBackups = true; domain = "files.${tailscaleDomain}"; + doBackups = true; }; radicale = { enable = true; - doBackups = true; domain = "calendar.${tailscaleDomain}"; + doBackups = true; }; memos = { enable = true; domain = "memos.${tailscaleDomain}"; + doBackups = true; }; actualbudget = { enable = true; - doBackups = true; domain = "budget.${tailscaleDomain}"; + doBackups = true; }; alloy = { diff --git a/modules/system/services/memos.nix b/modules/system/services/memos.nix index a20bf25..a2e88a3 100644 --- a/modules/system/services/memos.nix +++ b/modules/system/services/memos.nix @@ -9,6 +9,8 @@ }: let cfg = config.custom.services.memos; + + dataDir = config.services.memos.settings.MEMOS_DATA; in { imports = [ "${inputs.nixpkgs-unstable}/nixos/modules/services/misc/memos.nix" ]; @@ -23,6 +25,7 @@ in type = lib.types.port; default = 5230; }; + doBackups = lib.mkEnableOption ""; }; config = lib.mkIf cfg.enable { @@ -44,6 +47,13 @@ in }; }; - custom.persist.directories = [ config.services.memos.settings.MEMOS_DATA ]; + custom = { + services.resticBackups.memos = lib.mkIf cfg.doBackups { + conflictingService = "memos.service"; + paths = [ dataDir ]; + }; + + persist.directories = [ dataDir ]; + }; }; }