diff --git a/nixosModules/essentials/services.nix b/nixosModules/essentials/services.nix index 68a785c..b79c96d 100755 --- a/nixosModules/essentials/services.nix +++ b/nixosModules/essentials/services.nix @@ -8,31 +8,4 @@ services = { tailscale.enable = config.xlib.device.type != "wsl"; # true, if not wsl }; - systemd = { - services.rsync-archive = lib.mkIf (config.xlib.device.type == "server") { - description = "Backup data using rsync"; - #after = [ ]; - requisite = [ "mnt-archive.mount" ]; # hard-code - serviceConfig = { - Type = "oneshot"; - User = "root"; - Group = "root"; - ExecStart = '' - ${pkgs.rsync}/bin/rsync -rtv --delete ${config.xlib.dirs.immich-folder}/ ${config.xlib.dirs.archive-drive}/Services/immich/ - ${pkgs.rsync}/bin/rsync -rtv --delete ${config.xlib.dirs.nextcloud-folder}/ ${config.xlib.dirs.archive-drive}/Services/nextcloud/ - ''; - Nice = 19; - IOSchedulingClass = "idle"; - }; - }; - timers.rsync-archive = lib.mkIf (config.xlib.device.type == "server") { - description = "Run rsync backup weekly"; - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = "weekly"; - Persistent = true; - Unit = "rsync-archive.service"; - }; - }; - }; } diff --git a/nixosModules/server/default.nix b/nixosModules/server/default.nix index 2d1f2fd..07dc55e 100755 --- a/nixosModules/server/default.nix +++ b/nixosModules/server/default.nix @@ -14,5 +14,6 @@ ./nginx.nix ./stirling-pdf.nix ./zerotier.nix + ./systemd.nix ]; } diff --git a/nixosModules/server/systemd.nix b/nixosModules/server/systemd.nix new file mode 100644 index 0000000..7496f44 --- /dev/null +++ b/nixosModules/server/systemd.nix @@ -0,0 +1,37 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + systemd = { + services.rsync-archive = { # Make copy of files + description = "Backup data using rsync"; + #after = [ ]; + requisite = [ "mnt-archive.mount" ]; # hard-code + script = '' + ${pkgs.rsync}/bin/rsync -rtv --delete ${config.xlib.dirs.immich-folder}/ ${config.xlib.dirs.archive-drive}/Services/immich/ + ${pkgs.rsync}/bin/rsync -rtv --delete ${config.xlib.dirs.nextcloud-folder}/ ${config.xlib.dirs.archive-drive}/Services/nextcloud/ + ''; + serviceConfig = { + Type = "oneshot"; + User = "root"; + Group = "root"; + # ExecStart = '' + # ''; + Nice = 19; + IOSchedulingClass = "idle"; + }; + }; + timers.rsync-archive = { + description = "Run rsync backup weekly"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = "daily"; + Persistent = true; + Unit = "rsync-archive.service"; + }; + }; + }; +}