diff --git a/borgbackup.nix b/borgbackup.nix new file mode 100644 index 0000000..2e6aabc --- /dev/null +++ b/borgbackup.nix @@ -0,0 +1,30 @@ +{ + services.borgbackup.jobs."borgbase" = { + paths = [ + "/var/backup" + "/var/lib/sourcehut" + "/etc/nixos" + "/root" + "/home" + ]; + exclude = [ + "**/*cache" + "**/*Cache" + "**/*trash" + "**/*Trash" + "/home/*/.local" + "**/target" + "**/result" + ]; + repo = "foy40rzb@foy40rzb.repo.borgbase.com:repo"; + encryption = { + mode = "repokey-blake2"; + passCommand = "cat /root/borgbackup/passphrase"; + }; + environment.BORG_RSH = "ssh -i /root/borgbackup/ssh_key"; + compression = "auto,lzma"; + startAt = "daily"; + # also start if the starttime was missed + persistentTimer = true; + }; +} diff --git a/configuration.nix b/configuration.nix index 2269036..3518fce 100644 --- a/configuration.nix +++ b/configuration.nix @@ -6,6 +6,7 @@ in imports = [ ./hardware-configuration.nix ./firewall.nix + ./borgbackup.nix (import ./acme.nix { inherit base-domain; }) (import ./nginx.nix { inherit base-domain; })