diff options
author | Soispha <soispha@vhack.eu> | 2023-08-11 01:07:41 +0200 |
---|---|---|
committer | Soispha <soispha@vhack.eu> | 2023-08-11 01:07:41 +0200 |
commit | 8634195fbd464a6e20a729ab296426350e1a2e32 (patch) | |
tree | 70547399ec1570138d3006a7a4e7485053f714c0 | |
parent | chore(version): v0.7.0 (diff) | |
parent | Feat(system/services/snapper): Add (diff) | |
download | nixos-server-8634195fbd464a6e20a729ab296426350e1a2e32.tar.gz nixos-server-8634195fbd464a6e20a729ab296426350e1a2e32.zip |
Merge: Branch 'snapper'
-rw-r--r-- | system/services/default.nix | 1 | ||||
-rw-r--r-- | system/services/snapper/default.nix | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/system/services/default.nix b/system/services/default.nix index 7bf26c3..8f5540f 100644 --- a/system/services/default.nix +++ b/system/services/default.nix @@ -10,5 +10,6 @@ ./nix-sync ./openssh ./rust-motd + ./snapper ]; } diff --git a/system/services/snapper/default.nix b/system/services/snapper/default.nix new file mode 100644 index 0000000..cdebf8d --- /dev/null +++ b/system/services/snapper/default.nix @@ -0,0 +1,41 @@ +{...}: { + services.snapper = { + configs = { + srv = { + SUBVOLUME = "/srv"; + FSTYPE = "btrfs"; + # users and groups allowed to work with config + ALLOW_GROUPS = ["wheel"]; + + # sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots + # directory + SYNC_ACL = true; + + # run daily number cleanup + NUMBER_CLEANUP = false; + + # limit for number cleanup + NUMBER_MIN_AGE = 1800; + NUMBER_LIMIT = 50; + NUMBER_LIMIT_IMPORTANT = 10; + + # create hourly snapshots + TIMELINE_CREATE = true; + + # cleanup hourly snapshots after some time + TIMELINE_CLEANUP = true; + + # limits for timeline cleanup + TIMELINE_MIN_AGE = 1800; + TIMELINE_LIMIT_HOURLY = 7; + TIMELINE_LIMIT_DAILY = 3; + TIMELINE_LIMIT_WEEKLY = 2; + TIMELINE_LIMIT_MONTHLY = 2; + TIMELINE_LIMIT_YEARLY = 2; + + # cleanup empty pre-post-pairs + EMPTY_PRE_POST_CLEANUP = true; + }; + }; + }; +} |