71 lines
1.6 KiB
Nix
71 lines
1.6 KiB
Nix
{ config, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.machine;
|
|
in {
|
|
imports = [
|
|
../../options/machine.nix
|
|
../../options/mailman3/options.nix
|
|
];
|
|
|
|
config.machine = rec {
|
|
hostName = "Ophanim";
|
|
domain = "ophanim.de";
|
|
administrators = [ { name = "derped"; id = 1337; } ];
|
|
mailAccounts = [ { name = "derped"; aliases = [ "postmaster" ]; } { 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 = true;
|
|
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";
|
|
};
|
|
};
|
|
}
|