diff options
-rw-r--r-- | services/snapper/default.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/services/snapper/default.nix b/services/snapper/default.nix new file mode 100644 index 00000000..547ee3f5 --- /dev/null +++ b/services/snapper/default.nix @@ -0,0 +1,47 @@ +# vim: ts=2 +{config, ...}: { + services.snapper = { + configs = { + srv = { + subvolume = "/srv"; + fstype = "btrfs"; + extraConfig = '' + # 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="yes" + + + # run daily number cleanup + NUMBER_CLEANUP="no" + + # limit for number cleanup + NUMBER_MIN_AGE="1800" + NUMBER_LIMIT="50" + NUMBER_LIMIT_IMPORTANT="10" + + + # create hourly snapshots + TIMELINE_CREATE="yes" + + # cleanup hourly snapshots after some time + TIMELINE_CLEANUP="yes" + + # limits for timeline cleanup + TIMELINE_MIN_AGE="1800" + TIMELINE_LIMIT_HOURLY="7" + TIMELINE_LIMIT_DAILY="3" + TIMELINE_LIMIT_WEEKLY="0" + TIMELINE_LIMIT_MONTHLY="0" + TIMELINE_LIMIT_YEARLY="0" + + + # cleanup empty pre-post-pairs + EMPTY_PRE_POST_CLEANUP="yes" + ''; + }; + }; + }; +} |