about summary refs log tree commit diff stats
path: root/services/snapper/default.nix
blob: 547ee3f570076704643246e3f71af4a3b43f5ffa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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"
        '';
      };
    };
  };
}