The mail is not hard is a meme, for my previous deployment of a mail server I had multiple ansible playbooks to deploy the postfix + dovecot + rspamd stack to a debian server.
There were dozens of templates file, it was horrible I did this because I found the other options were way too bloated, most tutorials and examples on the internet tell you to set up a sql database, for a dead simple deployment for 1-6 users this is far too much.
There are of course containers with mailcow & co but again I found them either too bloated or the stack was too old.
postfix + amavis + postgrey + spamassassin + opendkim + spfsomething + dovecot + clamav is too much in 2023 when you can simply go opensmtpd + dovecot + rspamd
But there is hope, guix as a system allows you to declaratively configure some services but how far are we exactly of a fully reproducible mail setup?
Well not that far actually there are opensmtpd and dovecot already packaged and they can be used as a service already.
There is a patch series for postfix but no news so far.
From what I’ve seen dovecot configuration is mostly complete save some modules like managesieve again a patch series is there
Now rspamd is available but it is only available as a package, I am working to get the service done
For webmail roundcube is not packaged in guix because the php imported is not finished yet.
This is just for the setup, now imagine having to deal with your reputation, backup mx, if you want to get fancy tlsa and mts records, how to manage your dkims keys over time…