diff --git a/default.nix b/default.nix index 96e6ad6..2edb0eb 100644 --- a/default.nix +++ b/default.nix @@ -82,6 +82,7 @@ in mkpasswd -m sha-512 "super secret password" ``` ''; + default = {}; }; valiases = mkOption { @@ -98,6 +99,7 @@ in forwarded to some valid email address. (Alternatively you can create login accounts for `postmaster` and (or) `abuse`). ''; + default = {}; }; vmail_id_start = mkOption { @@ -245,12 +247,16 @@ in }; }; + imports = [ + ./mail-server/clamav.nix + ]; + config = mkIf cfg.enable { services = import ./mail-server/services.nix { inherit lib; inherit (cfg) mail_dir vmail_user_name vmail_group_name valiases domain - enable_imap enable_pop3 virus_scanning dkim_signing dkim_selector - dkim_dir certificate_scheme cert_file key_file cert_dir; + enable_imap enable_pop3 dkim_signing dkim_selector dkim_dir + certificate_scheme cert_file key_file cert_dir virus_scanning; }; environment = import ./mail-server/environment.nix { diff --git a/mail-server/clamav.nix b/mail-server/clamav.nix index acea48f..9bf0737 100644 --- a/mail-server/clamav.nix +++ b/mail-server/clamav.nix @@ -14,10 +14,15 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see -{ virus_scanning }: +{ config, pkgs, lib, ... }: +let + cfg = config.mailserver; +in { - daemon.enable = virus_scanning; - updater.enable = virus_scanning; + config = lib.mkIf cfg.virus_scanning { + services.clamav.daemon.enable = true; + services.clamav.updater.enable = true; + }; } diff --git a/mail-server/services.nix b/mail-server/services.nix index 259cbfe..880536c 100644 --- a/mail-server/services.nix +++ b/mail-server/services.nix @@ -51,8 +51,4 @@ in inherit vmail_group_name vmail_user_name mail_dir enable_imap enable_pop3 cert key; }; - - clamav = import ./clamav.nix { - inherit virus_scanning; - }; }