32 lines
797 B
Nix
32 lines
797 B
Nix
{ config, pkgs, ... }:
|
|
|
|
let
|
|
mountService = "var-backup-disk.mount";
|
|
backupDisk = "/var/backup/disk";
|
|
repo = "${backupDisk}/montalin";
|
|
in {
|
|
services.borgbackup.jobs = {
|
|
data = {
|
|
exclude = [ backupDisk "/var/tmp" "/var/cache" ];
|
|
paths = [ "/etc" "/home" "/root" "/var" "/secrets" ];
|
|
preHook = "systemctl start ${mountService}";
|
|
postHook = "systemctl stop ${mountService}";
|
|
readWritePaths = [ backupDisk ];
|
|
prune.keep = {
|
|
within = "14d";
|
|
weekly = 4;
|
|
monthly = 6;
|
|
yearly = -1;
|
|
|
|
};
|
|
removableDevice = true;
|
|
encryption = {
|
|
mode = "authenticated";
|
|
passphrase = "";
|
|
};
|
|
repo = repo;
|
|
startAt = "07:00";
|
|
environment.BORG_BASE_DIR = "${repo}/borg-base-dir";
|
|
};
|
|
};
|
|
}
|