mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-11 21:59:08 -05:00
services: dovecot: Use modules via symlink to system profile.
* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them. * gnu/services/mail.scm (dovecot-configuration): Use the symlink. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
This commit is contained in:
parent
db0109be42
commit
bcfe0f0c1e
2 changed files with 12 additions and 4 deletions
|
@ -18615,7 +18615,8 @@ Defaults to @samp{"/var/run/dovecot/auth-userdb"}.
|
|||
|
||||
@deftypevr {@code{dovecot-configuration} parameter} file-name mail-plugin-dir
|
||||
Directory where to look up mail plugins.
|
||||
Defaults to @samp{"/usr/lib/dovecot"}.
|
||||
Defaults to @samp{"/etc/dovecot/modules"}, a union of all enabled mail
|
||||
plugins.
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins
|
||||
|
|
|
@ -1044,8 +1044,10 @@ (define-configuration dovecot-configuration
|
|||
This is used by imap (for shared users) and lda.")
|
||||
|
||||
(mail-plugin-dir
|
||||
(file-name "/usr/lib/dovecot")
|
||||
"Directory where to look up mail plugins.")
|
||||
(file-name "/etc/dovecot/modules")
|
||||
"Directory where to look up mail plugins.
|
||||
Defaults to @samp{\"/etc/dovecot/modules\"}, a union of all enabled mail
|
||||
plugins.")
|
||||
|
||||
(mail-plugins
|
||||
(space-separated-string-list '())
|
||||
|
@ -1519,13 +1521,18 @@ (define* (create-self-signed-certificate-if-absent
|
|||
(else
|
||||
(format (current-error-port)
|
||||
"Failed to create public key at ~a.\n" public-key)))))
|
||||
(let ((user (getpwnam "dovecot")))
|
||||
(let ((user (getpwnam "dovecot"))
|
||||
;; This is Dovecot's term for the base directory for
|
||||
;; dynamically loadable modules. It supports only one.
|
||||
(moduledir "/etc/dovecot/modules"))
|
||||
(mkdir-p/perms "/var/run/dovecot" user #o755)
|
||||
(mkdir-p/perms "/var/lib/dovecot" user #o755)
|
||||
(mkdir-p/perms "/etc/dovecot" user #o755)
|
||||
(copy-file #$(plain-file "dovecot.conf" config-str)
|
||||
"/etc/dovecot/dovecot.conf")
|
||||
(mkdir-p/perms "/etc/dovecot/private" user #o700)
|
||||
(unless (file-exists? moduledir)
|
||||
(symlink "/run/current-system/profile/lib/dovecot" moduledir))
|
||||
(create-self-signed-certificate-if-absent
|
||||
#:private-key "/etc/dovecot/private/default.pem"
|
||||
#:public-key "/etc/dovecot/default.pem"
|
||||
|
|
Loading…
Reference in a new issue