diff --git a/hosts/nixos/lapetus/services/zfs.nix b/hosts/nixos/lapetus/services/zfs.nix index 33cf4e4..ef0bee7 100644 --- a/hosts/nixos/lapetus/services/zfs.nix +++ b/hosts/nixos/lapetus/services/zfs.nix @@ -5,18 +5,44 @@ services.zfs = { trim.enable = true; autoScrub.enable = true; - - autoSnapshot = { - enable = true; - - # -k -p is the default, and --utc is there to prevent timezone-related issues - autoSnapshot.flags = "-k -p --utc"; - }; + autoSnapshot = false; # We will configure this using sanoid # zed.enableMail = true; }; # }}} + # {{{ Sanoid config + # Sanoid allows me to configure snapshot frequency on a per-dataset basis. + services.sanoid = { + enable = true; + + # {{{ Data + datasets.data = { + autosnap = true; + autoprune = true; + recursive = true; + yearly = 0; + monthly = 12; + weekly = 4; + daily = 7; + hourly = 24; + }; + # }}} + # {{{ State + datasets.state = { + autosnap = true; + autoprune = true; + recursive = true; + yearly = 0; + monthly = 1; + weekly = 1; + daily = 3; + hourly = 6; + }; + # }}} + }; + # }}} # {{{ Zed email config + # Zed allows using email notifications for events sops.secrets.zed_smtp_pass.sopsFile = ../secrets.yaml; programs.msmtp.accounts.zed = { from = "zed@orbit.moonythm.dev";