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

with pkgs;

{
  # Notify when a disk starts going haywire
  services.smartd = {
    enable = true;
    notifications.mail = {
      enable = true;
      sender = "akasroua+smartd@disroot.org";
      recipient = "akasroua@disroot.org";
      mailer = "${msmtp}/bin/msmtp -t --read-envelope-from";
    };
  };

  # Notify about zpool problems
  services.zfs.zed = {
    enableMail = false;
    settings = {
      ZED_EMAIL_ADDR = "akasroua+smartd@disroot.org";
      ZED_EMAIL_PROG = "mail";
      ZED_EMAIL_OPTS = "-s '@SUBJECT@' @ADDRESS@";
      ZED_NOTIFY_VERBOSE = false;
    };
  };

  # Set up msmtp as notifier
  programs.msmtp = {
    enable = true;
    defaults = {
      port = 587;
      tls = true;
    };
    accounts = {
      default = {
        auth = true;
        host = "disroot.org";
        user = "akasroua@disroot.org";
        passwordeval = "${coreutils}/bin/cat ${config.age.secrets.msmtp.path}";
      };
    };
  };

}