From aa0d1752f64d8d62f7354a803ed9fe6ac58082fe Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Wed, 28 Aug 2024 12:22:41 +0200 Subject: [PATCH] Add local mail service --- .reuse/dep5 | 1 + .sops.yaml | 5 +++- machines/vueko/secrets/mail-users.nix | Bin 11118 -> 11266 bytes modules/default.nix | 1 + modules/local-mail.nix | 32 ++++++++++++++++++++++++++ modules/mailserver/postfix.nix | 2 ++ secrets.yaml | 4 ++-- secrets/local-mail.yaml | Bin 0 -> 19538 bytes 8 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 modules/local-mail.nix create mode 100644 secrets/local-mail.yaml diff --git a/.reuse/dep5 b/.reuse/dep5 index 682cda5..9e1742c 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -7,6 +7,7 @@ Source: https://git.sbruder.de/simon/nixos-config Files: .git-crypt/keys/default/0/*.gpg secrets.yaml + secrets/*.yaml **/secrets.yaml keys/*/*.asc machines/*/secrets/*.nix diff --git a/.sops.yaml b/.sops.yaml index 56000dc..9d16b30 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -keys: +keys: &all-keys # sops does not (yet) support ADSKs, # so all encryption subkeys have to be added manually - &simon 6CD375BD0741F67E5A289BC333A01CBE0554C763 # offline @@ -135,3 +135,6 @@ creation_rules: - *renge - *koyomi - *hiroshi + - path_regex: secrets/local-mail\.yaml$ + key_groups: + - pgp: *all-keys diff --git a/machines/vueko/secrets/mail-users.nix b/machines/vueko/secrets/mail-users.nix index 829912136f83f3fa0fe5728efc2279b4b1af499a..664b239e3e8ca835895eaff17d2144131dd236d5 100644 GIT binary patch literal 11266 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 literal 11118 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 +# +# SPDX-License-Identifier: AGPL-3.0-or-later +{ config, pkgs, ... }: + +{ + sops.secrets.system-mail.sopsFile = ../secrets/local-mail.yaml; + + programs.msmtp = { + enable = true; + setSendmail = true; + accounts.default = { + host = "vueko.sbruder.de"; + port = "465"; + tls = "on"; + tls_starttls = "off"; + from = ''"system+%U@%H"@sbruder.de''; + allow_from_override = "off"; + auth = "on"; + user = "system@sbruder.de"; + passwordeval = "cat ${config.sops.secrets.system-mail.path}"; + aliases = pkgs.writeText "msmtp-aliases" '' + default: simon@sbruder.de + ''; + }; + }; + + boot.swraid.mdadmConf = '' + MAILFROM "mdadm on ${config.networking.hostName}" <"system+root@${config.networking.hostName}"@sbruder.de> + MAILADDR simon@sbruder.de + ''; +} diff --git a/modules/mailserver/postfix.nix b/modules/mailserver/postfix.nix index 13a9533..1fa6dbc 100644 --- a/modules/mailserver/postfix.nix +++ b/modules/mailserver/postfix.nix @@ -42,6 +42,8 @@ lib.mkIf cfg.enable { services.postfix = { enable = true; + setSendmail = lib.mkForce false; + enableSubmission = true; # plain/STARTTLS (latter is forced in submissionOptions) enableSubmissions = true; # submission with implicit TLS (TCP/465) diff --git a/secrets.yaml b/secrets.yaml index bd65fda..e6523a1 100644 --- a/secrets.yaml +++ b/secrets.yaml @@ -11,8 +11,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2023-12-28T16:12:09Z" - mac: ENC[AES256_GCM,data:f7gcMjAEMU6uOeS7x2zvtyu+7DvPOCbtBy+zStALFou6B2rMBuqzJC1CynFh1f+NAKGtv1P3sMdag5Es5xsRHjFqQ0FfWceAB2anTsqW3ZLu+ZKS02p03lR5Tz59GQgS1MHcNkEovY2qZ/Mk/BODJzKYjqmb7ItjXTcSAGII5vg=,iv:gZE0w3Ih5x8xJ0x7sU+ZWo289PIaBUn/y8y78QDqidQ=,tag:cxlGk81xQGifm3IyE5ypwg==,type:str] + lastmodified: "2024-08-28T20:20:46Z" + mac: ENC[AES256_GCM,data:i6AZEdSTH6Ig74wX6kdemIIzd2v0VbuKmhYRDEchVHg+4UmL/PoLwPCv9As4toFvHp0dWE2p9tarOirkbraoFKVB0MeDRdKE0WEBu5biY4ZPTufHPUKyQ5v2VkFkBhAmI/hYPgHXwfzKt3vTDBJtfcYUl9+GqITerF7JDTYXngk=,iv:nbR4eGBEK+YQKS8MmFuz4LWApaHs2YwxvJcQgDkpdE4=,tag:OF+tq5AlE4RtuMqwmRy4jg==,type:str] pgp: - created_at: "2024-08-20T22:32:59Z" enc: |- diff --git a/secrets/local-mail.yaml b/secrets/local-mail.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fe76ae3f9be915df854e138748e268de62cde54e GIT binary patch literal 19538 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 B&Q<^b literal 0 HcmV?d00001