{ config, lib, ... }: with lib; let cfg = config.machine; in { imports = [ ../../options/mailman3/options.nix ]; config.machine = rec { hostName = "Ophanim"; domain = "ophanim.de"; administrators = [ { name = "derped"; id = 1337; } ]; mailAccounts = [ { name = "derped"; aliases = [ "postmaster" "baensch" ]; } { name = "mailman3"; aliases = []; } ]; allowUnfree = true; conffiles = [ "etcvars" "security" "zsh" ]; pkgs = [ "base" "server" ]; services = [ "fail2ban" "gitea" # "hydra" "mailserver" "mariaDB" "nextcloud" "nginx" "openssh" ]; vHosts = (let base = domain; in [ { domain = base; service = "simple"; } # { domain = "builder.${base}"; service = "hydra"; } # { domain = "cache.${base}"; service = "cache"; } { domain = "storage.${base}"; service = "nextcloud"; } { domain = "mail.${base}"; service = "mail"; } { domain = "git.${base}"; service = "gitea"; } ]); firewall = { enable = true; allowPing = false; allowedUDPPorts = [ 22 80 443 ]; allowedTCPPorts = [ 80 443 ]; }; }; config.services.mailman3 = { enable = false; site_owner = "derped@ophanim.de"; database = { type = "mysql"; name = "mailman3"; user = "mailman3"; host = "localhost"; port = 3306; passwordFile = "${cfg.secretPath}/mailman3_db"; }; mta = { lmtp_host = "mail.ophanim.de"; smtp_host = "mail.ophanim.de"; smtp_user = "mailman3"; smtp_passFile = "${cfg.secretPath}/mailman3_mail"; }; }; }