aboutsummaryrefslogtreecommitdiff
path: root/src/org/euandre
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/euandre')
-rw-r--r--src/org/euandre/queue.scm18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/org/euandre/queue.scm b/src/org/euandre/queue.scm
index c331cdd..fcb65ab 100644
--- a/src/org/euandre/queue.scm
+++ b/src/org/euandre/queue.scm
@@ -1356,7 +1356,8 @@ max_age: 604800
(mail-in-home? dovecot-configuration-mail-in-home? (default #f))
(raw-file dovecot-configuration-raw-file (default #f))
(extra-content dovecot-configuration-extra-content (default ""))
- (config-name dovecot-configuration-config-name (default "dovecot.conf"))
+ (config-dirname dovecot-configuration-config-dirname (default "dovecot"))
+ (config-filename dovecot-configuration-config-filename (default "dovecot.conf"))
(user dovecot-configuration-user (default "dovecot"))
(group dovecot-configuration-group (default "dovecot"))
(auth-worker-group dovecot-configuration-auth-worker-group (default "etc-shadow"))
@@ -1446,10 +1447,13 @@ namespace inbox {
(define (dovecot-etc-files config)
(match-record config <dovecot-configuration>
- (raw-file config-name)
- `((,config-name ,(plain-file config-name
- (or raw-file
- (generate-dovecot-config config)))))))
+ (raw-file config-dirname config-filename)
+ `((,config-dirname
+ ,(file-union
+ config-dirname
+ `((,config-filename ,(plain-file config-filename
+ (or raw-file
+ (generate-dovecot-config config))))))))))
(define (dovecot-accounts config)
(match-record config <dovecot-configuration>
@@ -1505,8 +1509,8 @@ namespace inbox {
(define (dovecot-shepherd-service config)
(match-record config <dovecot-configuration>
- (dovecot config-name)
- (let ((config-file (string-append "/etc/" config-name)))
+ (dovecot config-dirname config-filename)
+ (let ((config-file (string-append "/etc/" config-dirname "/" config-filename)))
(list
(shepherd-service
(provision '(dovecot))