{
  config,
  lib,
  pkgs,
  ...
}:

{
  imports = [ ];

  options.me = {
    zrepl.enable = lib.mkOption {
      type = lib.types.bool;
      default = false;
      example = true;
      description = "Whether we want to install zrepl.";
    };
  };

  config = lib.mkIf config.me.zrepl.enable (
    lib.mkMerge [
      {
        services.zrepl = {
          enable = true;
          settings = {
            jobs = [
              {
                name = "snapjob";
                type = "snap";
                filesystems = {
                  "zroot/linux/nix/persist<" = true;
                  "zroot/bridge<" = true;
                };
                snapshotting = {
                  type = "periodic";
                  interval = "15m";
                  prefix = "zrepl_";
                };
                pruning = {
                  keep = [
                    {
                      type = "grid";
                      grid = "1x1h(keep=all) | 24x1h | 14x1d";
                      regex = "^zrepl_.*";
                    }
                    {
                      type = "regex";
                      negate = true;
                      regex = "^zrepl_.*";
                    }
                  ];
                };
              }
            ];
          };
        };
      }
    ]
  );
}