1
0
Fork 0

remove mail

This commit is contained in:
Lukas Wurzinger 2024-04-20 21:49:50 +02:00
parent b77f3edc41
commit d975f43b3e
17 changed files with 25 additions and 321 deletions

View file

@ -5,9 +5,7 @@
./atuin.nix
./conduit.nix
./forgejo.nix
./mailserver.nix
./navidrome.nix
./nextcloud.nix
./nginx.nix
./vaultwarden.nix
];
@ -38,7 +36,7 @@
};
security.acme = {
defaults.email = "lukasatwrzdotone@gmail.com";
defaults.email = "lukas@wrz.one";
acceptTerms = true;
};
}

View file

@ -1,59 +0,0 @@
{
config,
pkgs,
...
}: let
inherit (config.networking) domain fqdn;
wellKnownMtaSts = pkgs.writeText "" ''
version: STSv1
mode: enforce
mx: ${fqdn}
max_age: 86400
'';
in {
age.secrets.mail-lukas.file = ../../secrets/mail-lukas.age;
environment.persistence."/persist".directories = [
config.mailserver.dkimKeyDirectory
config.mailserver.mailDirectory
config.mailserver.sieveDirectory
];
mailserver = {
enable = true;
openFirewall = true;
inherit fqdn;
domains = [domain];
loginAccounts = {
"lukas@${domain}" = {
hashedPasswordFile = config.age.secrets.mail-lukas.path;
aliases = ["postmaster@${domain}" "vault@${domain}"];
};
};
certificateScheme = "acme-nginx";
};
# FIXME: This is unnecessary when https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/issues/275 is closed
services.dovecot2.sieve.extensions = ["fileinto"];
services.nginx.virtualHosts."mta-sts.${domain}" = {
enableACME = true;
forceSSL = true;
quic = true;
locations = {
"/".return = "404";
"=/.well-known/mta-sts.txt" = {
alias = wellKnownMtaSts;
extraConfig = ''
default_type text/plain;
'';
};
};
};
}

View file

@ -1,53 +0,0 @@
{
config,
pkgs,
...
}: {
age.secrets.nextcloud-lukas = {
file = ../../secrets/nextcloud-lukas.age;
owner = "nextcloud";
group = "nextcloud";
};
services.nextcloud = {
enable = true;
package = pkgs.nextcloud28;
hostName = "cloud.${config.networking.domain}";
https = true;
configureRedis = true;
# TODO: news
extraApps = {
inherit
(config.services.nextcloud.package.packages.apps)
bookmarks
calendar
contacts
deck
forms
mail
maps
notes
phonetrack
tasks
;
};
extraAppsEnable = true;
database.createLocally = true;
config = {
dbtype = "pgsql";
adminuser = "lukas";
adminpassFile = config.age.secrets.nextcloud-lukas.path;
};
};
services.nginx.virtualHosts.${config.services.nextcloud.hostName} = {
enableACME = true;
forceSSL = true;
quic = true;
};
}