nixos-configuration/machines/morpheus/btrbk.nix

70 lines
1.8 KiB
Nix
Raw Normal View History

2024-08-01 16:24:21 +02:00
{ ... }: {
services.btrbk = {
instances = {
2024-08-04 15:54:42 +02:00
/*
2024-08-01 16:24:21 +02:00
home = {
settings = {
snapshot_preserve = "24h 14d 4w 12m";
snapshot_preserve_min = "latest";
2024-08-04 15:54:42 +02:00
# don't auto cleanup target
2024-08-01 16:24:21 +02:00
target_preserve_min = "all";
volume."/" = {
snapshot_dir = ".btrbk";
subvolume = {
home = {
snapshot_create = "always";
};
};
target = "/run/media/me/backup/morpheus";
};
};
};
2024-08-04 15:54:42 +02:00
*/
2024-08-04 15:55:28 +02:00
# local snapshots:
# - create hourly
# - keep hourly for 4 days and daily forever
home_local = {
onCalendar = "hourly";
settings = {
snapshot_preserve = "96h *d";
snapshot_preserve_min = "latest";
volume."/" = {
snapshot_dir = "/home/.btrbk";
subvolume.home = {
snapshot_create = "always";
};
};
};
};
# backup snapshots to backup drive
# - keep all hourly and the last 14 days of daily snapshots on the local disk
# - keep 14 daily, 8 weekly and all monthly snapshots on the backup drive
# - don't create new snapshots
# - TODO: trigger on mount
home_external = {
# disable systemd timer
onCalendar = null;
settings = {
snapshot_preserve = "*h 14d";
snapshot_preserve_min = "latest";
target_preserve = "14d 8w *m";
#target_preserve_min = "all";
volume."/" = {
snapshot_dir = "/home/.btrbk";
subvolume.home = {
snapshot_create = "no";
};
target = "/run/media/me/backup/morpheus";
};
};
};
2024-08-01 16:24:21 +02:00
};
};
}