diff --git a/hosts/alyssum/default.nix b/hosts/alyssum/default.nix index 255380a..870915a 100644 --- a/hosts/alyssum/default.nix +++ b/hosts/alyssum/default.nix @@ -37,6 +37,7 @@ ./networking.nix ./restic.nix ./samba.nix + ./snapper.nix ../../users/hana ]; diff --git a/hosts/alyssum/restic.nix b/hosts/alyssum/restic.nix index b355589..f5268b7 100644 --- a/hosts/alyssum/restic.nix +++ b/hosts/alyssum/restic.nix @@ -13,6 +13,7 @@ repositoryFile = config.age.secrets.restic_url.path; paths = ["/flower"]; + exclude = ["/.snapshots"]; timerConfig = { # every 6 hours OnCalendar = "*-*-* 00,06,12,18:00:00"; diff --git a/hosts/alyssum/snapper.nix b/hosts/alyssum/snapper.nix new file mode 100644 index 0000000..0196fe6 --- /dev/null +++ b/hosts/alyssum/snapper.nix @@ -0,0 +1,19 @@ +{ ... }: { + services.snapper = { + cleanupInterval = "1h"; + persistentTimer = true; + snapshotInterval = "*-*-* *:00,30:00"; + configs.home = { + FSTYPE = "btrfs"; + SUBVOLUME = "/flower"; + TIMELINE_CLEANUP = true; + TIMELINE_CREATE = true; + TIMELINE_MIN_AGE = "86400"; + TIMELINE_LIMIT_HOURLY = "24"; + TIMELINE_LIMIT_DAILY = "7"; + TIMELINE_LIMIT_WEEKLY = "5"; + TIMELINE_LIMIT_MONTHLY = "3"; + TIMELINE_LIMIT_YEARLY = "0"; + }; + }; +}