diff --git a/modules/accounts/email.nix b/modules/accounts/email.nix index a6e265c4..5b1b912f 100644 --- a/modules/accounts/email.nix +++ b/modules/accounts/email.nix @@ -6,6 +6,52 @@ let cfg = config.accounts.email; + gpgModule = types.submodule { + options = { + key = mkOption { + type = types.str; + description = '' + The key to use as listed in gpg --list-keys. + ''; + }; + + signByDefault = mkOption { + type = types.bool; + default = false; + description = "Sign messages by default."; + }; + + encryptByDefault = mkOption { + type = types.bool; + default = false; + description = "Encrypt outgoing messages by default."; + }; + }; + }; + + signatureModule = types.submodule { + options = { + text = mkOption { + type = types.str; + default = ""; + example = '' + -- + Luke Skywalker + May the force be with you. + ''; + description = '' + Signature content. + ''; + }; + + showSignature = mkOption { + type = types.enum [ "append" "attach" "none" ]; + default = "none"; + description = "Method to communicate the signature."; + }; + }; + }; + tlsModule = types.submodule { options = { enable = mkOption { @@ -237,6 +283,22 @@ let ''; }; + signature = mkOption { + type = signatureModule; + default = {}; + description = '' + Signature configuration. + ''; + }; + + gpg = mkOption { + type = types.nullOr gpgModule; + default = null; + description = '' + GPG configuration. + ''; + }; + smtp = mkOption { type = types.nullOr smtpModule; default = null;