{ config, lib, pkgs, ... }: let cfg = config.modules.services.mail; in { options.modules.services.mail = { enable = lib.mkOption { default = false; example = true; }; }; config = lib.mkIf cfg.enable { mailserver = { enable = true; fqdn = "mail.vimium.com"; domains = [ "vimium.com" ]; indexDir = "/var/lib/dovecot/indices"; certificateDomains = [ "imap.vimium.com" "smtp.vimium.com" ]; certificateScheme = "acme-nginx"; fullTextSearch.enable = true; loginAccounts = { "jordan@vimium.com" = { hashedPasswordFile = config.users.users.jordan.hashedPasswordFile; }; }; extraVirtualAliases = { "hostmaster@vimium.com" = "jordan@vimium.com"; "postmaster@vimium.com" = "jordan@vimium.com"; "webmaster@vimium.com" = "jordan@vimium.com"; "abuse@vimium.com" = "jordan@vimium.com"; }; }; }; }