mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
services: dovecot: Provide plugins through a /gnu/store directory.
* gnu/services/mail.scm (package-list?, serialize-package-list): New procedures. * gnu/services/mail.scm (dovecot-configuration)[extensions]: New field. The field lets you provide a list of dovecot plugins that need to be available during the runtime. A union of the set of modules will be created on the activation time. * gnu/services/mail.scm (opaque-dovecot-configuration)[extensions]: Likewise. * gnu/services/mail.scm (make-dovecot-moduledir): New function. * gnu/services/mail.scm (%dovecot-activation): Add step to compute a set of modules, and provide them over the shared link at /usr/lib/dovecot. * doc/guix.texi (Mail Services)[extension]: Add documentation. Clarify the purpose and usage of the extensions parameter. Add an example showing how to enable Sieve filtering using dovecot-pigeonhole. Better explain the module directory structure and requirements. Change-Id: I3c3955bb04b09d245242112f6810ecc0558109a1 Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
parent
81e99a5caa
commit
f83b91a4ee
2 changed files with 61 additions and 2 deletions
|
@ -27484,6 +27484,25 @@ Available @code{dovecot-configuration} fields are:
|
|||
The dovecot package.
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{dovecot-configuration} parameter} package-list extensions
|
||||
A list of additional Dovecot plugin packages to make available at runtime. During
|
||||
service activation, the @file{lib/dovecot} directory from each specified package
|
||||
is combined with Dovecot's core modules into a unified module directory.
|
||||
|
||||
For example, to enable Sieve filtering:
|
||||
|
||||
@lisp
|
||||
(extensions (list dovecot-pigeonhole))
|
||||
@end lisp
|
||||
|
||||
Each package in the list must provide its modules at @file{lib/dovecot},
|
||||
as this is where @code{make-dovecot-moduledir} expects to find its
|
||||
extensions. The service combines these directories to create a unified
|
||||
module structure.
|
||||
|
||||
The default value is an empty list, providing only core Dovecot functionality.
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{dovecot-configuration} parameter} comma-separated-string-list listen
|
||||
A list of IPs or hosts where to listen for connections. @samp{*}
|
||||
listens on all IPv4 interfaces, @samp{::} listens on all IPv6
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue