# 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"
        '';
      };
    };
  };
}