From 271e6e54fd25b9765dec179c853e7856487d0837 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 12 Mar 2026 13:21:51 +0100 Subject: [PATCH] Reorganize imports With the growing number of option refactors centralize the module import within the mail-server directory. Also group deprecations by release, so we can eventually yank them in bulk after a while. --- default.nix | 34 ++++++++++++++-------------------- mail-server/default.nix | 17 +++++++++++++++++ 2 files changed, 31 insertions(+), 20 deletions(-) create mode 100644 mail-server/default.nix diff --git a/default.nix b/default.nix index a56cf84..5e54952 100644 --- a/default.nix +++ b/default.nix @@ -1524,6 +1524,9 @@ in }; imports = [ + ./mail-server + + # NixOS 25.05 (mkRemovedOptionModule [ "mailserver" "fullTextSearch" "maintenance" "enable" ] '' This option is not needed for fts-flatcurve '') @@ -1549,19 +1552,6 @@ in (mkRemovedOptionModule [ "mailserver" "rebootAfterKernelUpgrade" "method" ] '' Use `system.autoUpgrade` instead. '') - ./mail-server/assertions.nix - ./mail-server/borgbackup.nix - ./mail-server/rsnapshot.nix - ./mail-server/clamav.nix - ./mail-server/monit.nix - ./mail-server/users.nix - ./mail-server/environment.nix - ./mail-server/networking.nix - ./mail-server/systemd.nix - ./mail-server/dovecot.nix - ./mail-server/postfix.nix - ./mail-server/rspamd.nix - ./mail-server/kresd.nix (mkRemovedOptionModule [ "mailserver" "policydSPFExtraConfig" ] '' SPF checking has been migrated to Rspamd, which makes this config redundant. Please look into the rspamd config to migrate your settings. It may be that they are redundant and are already configured in rspamd like for skip_addresses. @@ -1575,13 +1565,8 @@ in (mkRemovedOptionModule [ "mailserver" "smtpdForbidBareNewline" ] '' The workaround for the SMTP Smuggling attack is default enabled in Postfix >3.9. Use `services.postfix.config.smtpd_forbid_bare_newline` if you need to deviate from its default. '') - (mkRenamedOptionModule [ "mailserver" "dkimSigning" ] [ "mailserver" "dkim" "enable" ]) - (mkRenamedOptionModule [ "mailserver" "dkimKeyDirectory" ] [ "mailserver" "dkim" "keyDirectory" ]) - (mkRenamedOptionModule - [ "mailserver" "dkimSelector" ] - [ "mailserver" "dkim" "defaults" "selector" ] - ) - (mkRenamedOptionModule [ "mailserver" "dkimKeyType" ] [ "mailserver" "dkim" "defaults" "keyType" ]) + + # NixOS 25.11 (mkRenamedOptionModule [ "mailserver" "dmarcReporting" "domain" ] [ "mailserver" "systemDomain" ]) (mkRenamedOptionModule [ "mailserver" "dmarcReporting" "organizationName" ] @@ -1597,6 +1582,7 @@ in The name in the `FROM` field for DMARC report now uses the `mailserver.systemName`. '') + # NixOS 26.05 (mkRemovedOptionModule [ "mailserver" "certificateDomains" ] '' Configure `security.acme.certs.''${config.mailserver.fqdn}.extraDomains` instead. '') @@ -1607,5 +1593,13 @@ in (mkRenamedOptionModule [ "mailserver" "acmeCertificateName" ] [ "mailserver" "x509" "useACMEHost" ]) (mkRenamedOptionModule [ "mailserver" "certificateFile" ] [ "mailserver" "x509" "certificateFile" ]) (mkRenamedOptionModule [ "mailserver" "keyFile" ] [ "mailserver" "x509" "privateKeyFile" ]) + + (mkRenamedOptionModule [ "mailserver" "dkimSigning" ] [ "mailserver" "dkim" "enable" ]) + (mkRenamedOptionModule [ "mailserver" "dkimKeyDirectory" ] [ "mailserver" "dkim" "keyDirectory" ]) + (mkRenamedOptionModule + [ "mailserver" "dkimSelector" ] + [ "mailserver" "dkim" "defaults" "selector" ] + ) + (mkRenamedOptionModule [ "mailserver" "dkimKeyType" ] [ "mailserver" "dkim" "defaults" "keyType" ]) ]; } diff --git a/mail-server/default.nix b/mail-server/default.nix new file mode 100644 index 0000000..94f0a10 --- /dev/null +++ b/mail-server/default.nix @@ -0,0 +1,17 @@ +{ + imports = [ + ./assertions.nix + ./borgbackup.nix + ./rsnapshot.nix + ./clamav.nix + ./monit.nix + ./users.nix + ./environment.nix + ./networking.nix + ./systemd.nix + ./dovecot.nix + ./postfix.nix + ./rspamd.nix + ./kresd.nix + ]; +}