[bug#77647] home: mail: Add G-expression support to msmtp configuration.
Commit Message
* gnu/home/services/mail.scm (string-or-gexp?): New variable.
(maybe-string-or-gexp): New record type
(msmtp-configuration-serialize-string-or-gexp): New variable.
(msmtp-configuration) [password-eval]: Change type.
Change-Id: Id3016956250c447b301b40f29a6509d57058be49
---
gnu/home/services/mail.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
base-commit: 61fe7d1749720d4e6f0feb00a8baa8ca1606e1a4
Comments
Romain GARBAGE <romain.garbage@inria.fr> skribis:
> * gnu/home/services/mail.scm (string-or-gexp?): New variable.
> (maybe-string-or-gexp): New record type
> (msmtp-configuration-serialize-string-or-gexp): New variable.
> (msmtp-configuration) [password-eval]: Change type.
>
> Change-Id: Id3016956250c447b301b40f29a6509d57058be49
Pushed as c88f98bb3ca2616baea6b1e452cc900cc9c87503 with minor edits to
the commit log. Thanks! :-)
@@ -49,9 +49,14 @@ (define-module (gnu home services mail)
msmtp-account-name
msmtp-account-configuration))
+(define (string-or-gexp? obj)
+ (or (string? obj)
+ (gexp? obj)))
+
(define-maybe string (prefix msmtp-configuration-))
(define-maybe boolean (prefix msmtp-configuration-))
(define-maybe integer (prefix msmtp-configuration-))
+(define-maybe string-or-gexp (prefix msmtp-configuration-))
;; Serialization of 'msmtp'.
(define (uglify-symbol field-name)
@@ -68,6 +73,9 @@ (define (msmtp-configuration-serialize-boolean field-name value)
(define (msmtp-configuration-serialize-string field-name value)
#~(string-append #$(uglify-symbol field-name) " " #$value "\n"))
+(define msmtp-configuration-serialize-string-or-gexp
+ msmtp-configuration-serialize-string)
+
(define (msmtp-configuration-serialize-maybe-string-no-underscore field-name value)
#~(if #$(maybe-value-set? value)
(string-append
@@ -148,7 +156,7 @@ (define-configuration msmtp-configuration
"Set the envelope-from address.")
(password-eval
- maybe-string
+ maybe-string-or-gexp
"Set the password for authentication to the output (stdout) of the command cmd."
(serializer msmtp-configuration-serialize-maybe-string-no-underscore))