Hi Guix,
Following on this same thread, I've come up with a full record based implementation for Exim, but now I encounter another problem with records. After adding records for all the Exim fields (hundreds of options), gnu/services/mail.scm takes longer to compile. So much longer that the guix-cuirass-bot times out compiling guix-system.drv. You can see the PR at https://codeberg.org/guix/guix/pulls/10894 It seems large define-configuration records are slow to compile, and simulitaneaously, define-configuration yields the most human-readable code. I think having complete autonomy and hackability of email, the OG free and decentralized social media that is so often used as proof-of-personhood, is of supreme importance for Guix. IMO, we should allow the extra compile time and fix the slowness of define-configuration later, but this is a decision that affects everyone (each "guix pull" gets seconds longer). What do you think? -Zacchae
