service/drive: init from legacy and enable mail on error

This commit is contained in:
Felix Buehler 2023-03-19 16:14:20 +01:00
parent ea873305c8
commit 7bea060e81
7 changed files with 49 additions and 6 deletions

View file

@ -0,0 +1,29 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.hardware.drive-monitor;
in
{
options.my.hardware.drive-monitor = with lib; {
enable = mkEnableOption "drive-monitor configuration";
OnFailureMail = mkOption {
type = types.nullOr (types.str);
description = lib.mdDoc "Mail adress where to send the error report";
default = null;
example = "alarm@mail.com";
};
};
config = lib.mkIf cfg.enable {
services = {
postfix.enable = lib.mkIf (cfg.OnFailureMail != null) true;
smartd = {
enable = true;
notifications.mail = lib.mkIf (cfg.OnFailureMail != null) {
enable = true;
recipient = cfg.OnFailureMail;
};
};
};
};
}