100 lines
2.7 KiB
Nix
100 lines
2.7 KiB
Nix
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
../../modules/mail.nix
|
|
../../roles
|
|
../../roles/vm.nix
|
|
../../modules/vmNetwork.nix
|
|
];
|
|
|
|
# System configuration here
|
|
services.mathebau-mail = {
|
|
enable = true;
|
|
domains = [
|
|
# lists.mathebau.de is forwarded to another VM and does not need to be listed here.
|
|
{
|
|
domain = "matheball.de";
|
|
allowlistPass = "/run/secrets/allowlistPassMatheball";
|
|
}
|
|
{
|
|
domain = "mathebau.de";
|
|
allowlistPass = "/run/secrets/allowlistPassMathebau";
|
|
virt_aliases = "/run/secrets/mathebau.aliases";
|
|
}
|
|
{
|
|
domain = "mathechor.de";
|
|
allowlistPass = "/run/secrets/allowlistPassMathechor";
|
|
virt_aliases = "/run/secrets/mathechor.aliases";
|
|
}
|
|
{
|
|
domain = "koma89.tu-darmstadt.de";
|
|
allowlistPass = "/run/secrets/allowlistPassKoMa";
|
|
virt_aliases = "/run/secrets/koma.aliases";
|
|
}
|
|
];
|
|
};
|
|
|
|
networking.hostName = "kaalut";
|
|
vmNetwork.ipv4 = "192.168.0.17";
|
|
system.stateVersion = "24.05";
|
|
|
|
sops.secrets = {
|
|
# Password for the HRZ API that gets a list of mailaddresses that we serve
|
|
allowlistPassMatheball = {
|
|
sopsFile = ./allowlistPassMatheball.yaml;
|
|
owner = "stalwart-mail";
|
|
group = "stalwart-mail";
|
|
mode = "0400";
|
|
};
|
|
allowlistPassMathebau = {
|
|
sopsFile = ./allowlistPassMathebau.yaml;
|
|
owner = "stalwart-mail";
|
|
group = "stalwart-mail";
|
|
mode = "0400";
|
|
};
|
|
allowlistPassMathechor = {
|
|
sopsFile = ./allowlistPassMathechor.yaml;
|
|
owner = "stalwart-mail";
|
|
group = "stalwart-mail";
|
|
mode = "0400";
|
|
};
|
|
allowlistPassKoMa = {
|
|
sopsFile = ./allowlistPassKoMa.yaml;
|
|
owner = "stalwart-mail";
|
|
group = "stalwart-mail";
|
|
mode = "0400";
|
|
};
|
|
# Virtual alias file
|
|
"mathebau.aliases" = {
|
|
sopsFile = ./mathebau.aliases.yaml;
|
|
owner = "stalwart-mail";
|
|
group = "stalwart-mail";
|
|
mode = "0440";
|
|
};
|
|
"mathechor.aliases" = {
|
|
sopsFile = ./mathechor.aliases.yaml;
|
|
owner = "stalwart-mail";
|
|
group = "stalwart-mail";
|
|
mode = "0440";
|
|
};
|
|
"koma.aliases" = {
|
|
sopsFile = ./koma.aliases.yaml;
|
|
owner = "stalwart-mail";
|
|
group = "stalwart-mail";
|
|
mode = "0440";
|
|
};
|
|
# password for https://stalw.art/docs/auth/authorization/administrator/#fallback-administrator encoded to be supplied in the basic auth header
|
|
stalwartAdmin = {
|
|
sopsFile = ./stalwartAdmin.yaml;
|
|
owner = "stalwart-mail";
|
|
group = "stalwart-mail";
|
|
mode = "0400";
|
|
};
|
|
backupKey = {
|
|
sopsFile = ./backupKey.yaml;
|
|
owner = "root";
|
|
group = "root";
|
|
mode = "0400";
|
|
};
|
|
};
|
|
}
|