From 26b16162b7a45a94e62db2caecbc02d2fef18793 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Sat, 8 Sep 2018 18:45:29 +0900 Subject: [PATCH] accounts.emails: adding gpg/signature modules (cherry picked from commit 9407b42f97dc7c40a9c3432982d0363d64081a98) --- modules/accounts/email.nix | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/modules/accounts/email.nix b/modules/accounts/email.nix index a6e265c40..5b1b912f1 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;