mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
home: services: msmtp: Accept g-expressions for ‘password-eval’.
This allows users to specify: (password-eval #~(string-append #$(file-append libsecret "/bin/secret-tool") "…")) * 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 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
ac83a22375
commit
c88f98bb3c
1 changed files with 9 additions and 1 deletions
|
@ -49,9 +49,14 @@
|
|||
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-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 @@ unless TLS without STARTTLS is used, in which case it is 465 (\"smtps\").")
|
|||
"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))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue