dotfiles/host/montalin/backup.nix
2020-08-27 20:43:29 +00:00

30 lines
712 B
Nix

{ config, pkgs, ... }:
let
mountService = "var-backup.mount";
repo = "/var/backup/montalin"; # TODO: Does this make sense?
in {
services.borgbackup.jobs = {
data = {
exclude = [
"/var/backup" # TODO: Does this make sense?
"/var/tmp"
"/var/cache"
];
paths = [ "/etc" "/home" "/root" "/var" ];
preHook = "systemctl mount ${mountService}";
postHook = "systemctl stop ${mountService}";
prune.keep = {
within = "14d";
weekly = 4;
monthly = 6;
yearly = -1;
};
removableDevice = true;
repo = repo;
startAt = "07:00:";
environment.BORG_BASE_DIR = "${repo}/borg-base-dir";
};
};
}