{ 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_.*"; } ]; }; } ]; }; }; } ] ); }