about summary refs log tree commit diff stats
path: root/system/services/snapper
diff options
context:
space:
mode:
authorene <ene@sils.li>2023-03-17 17:42:23 +0100
committerene <ene@sils.li>2023-03-17 17:42:23 +0100
commit8978453ef0492c833d42599c758d25f8ed5afde0 (patch)
treee0652bf94479213be1a89945f9aa3d7eee1f9a45 /system/services/snapper
parentFix(hm/conf/lf): Update to new shell lib version (diff)
downloadnixos-config-8978453ef0492c833d42599c758d25f8ed5afde0.tar.gz
nixos-config-8978453ef0492c833d42599c758d25f8ed5afde0.zip
Fix(system): Move services to system
Diffstat (limited to 'system/services/snapper')
-rw-r--r--system/services/snapper/default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/system/services/snapper/default.nix b/system/services/snapper/default.nix
new file mode 100644
index 00000000..547ee3f5
--- /dev/null
+++ b/system/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"
+        '';
+      };
+    };
+  };
+}