From d64c23ce975d341c07f80c39398a349ebb798956 Mon Sep 17 00:00:00 2001 From: Cilly Leang Date: Fri, 19 Jun 2026 10:20:00 +1000 Subject: [PATCH 1/3] alyssum/restic: backup less frequently --- hosts/alyssum/restic.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hosts/alyssum/restic.nix b/hosts/alyssum/restic.nix index cfbea11..b355589 100644 --- a/hosts/alyssum/restic.nix +++ b/hosts/alyssum/restic.nix @@ -14,13 +14,12 @@ paths = ["/flower"]; timerConfig = { - # every 30mns - OnCalendar = "*-*-* *:00,30:00"; + # every 6 hours + OnCalendar = "*-*-* 00,06,12,18:00:00"; Persistent = true; }; pruneOpts = [ - "--keep-last 24" - "--keep-hourly 24" + "--keep-last 8" "--keep-daily 7" "--keep-weekly 5" "--keep-monthly 12" From 985b617be1dd0e61882d884ba56034594c8748df Mon Sep 17 00:00:00 2001 From: Cilly Leang Date: Fri, 19 Jun 2026 10:26:14 +1000 Subject: [PATCH 2/3] system/tailscale: filter out derp warning spam --- modules/system/tailscale.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/system/tailscale.nix b/modules/system/tailscale.nix index 5e3e044..16205f9 100644 --- a/modules/system/tailscale.nix +++ b/modules/system/tailscale.nix @@ -10,4 +10,7 @@ openFirewall = true; useRoutingFeatures = if config.me.environment == "headless" then "both" else "client"; }; + systemd.services.tailscaled.serviceConfig.LogFilterPatterns = [ + "~magicsock.*does not know about peer.*removing route" + ]; } From ac2690c9738a51f0e7dc5b85d9ad4e8731120f5b Mon Sep 17 00:00:00 2001 From: Cilly Leang Date: Fri, 19 Jun 2026 10:37:25 +1000 Subject: [PATCH 3/3] alyssum/snapper: init --- hosts/alyssum/default.nix | 1 + hosts/alyssum/restic.nix | 1 + hosts/alyssum/snapper.nix | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 hosts/alyssum/snapper.nix 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"; + }; + }; +}