summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmin Bandali <mab@gnu.org>2020-01-23 17:48:42 -0500
committerAmin Bandali <mab@gnu.org>2020-01-23 17:48:42 -0500
commita225edd9cbe2a14e8461bc64bb78ab3bf8fbefb1 (patch)
tree4c988622818a9f022c90657dceea7c2d9f62ba46
parent0b6b7db2bcad323ddfc5132b45ba771f65279948 (diff)
downloadconfigs-a225edd9cbe2a14e8461bc64bb78ab3bf8fbefb1.tar.gz
configs-a225edd9cbe2a14e8461bc64bb78ab3bf8fbefb1.tar.xz
configs-a225edd9cbe2a14e8461bc64bb78ab3bf8fbefb1.zip
guix: add local dovecot mail server to chaman
note: the dovecot/auth process runs as a non-root `dovecot' user, which needs to be able to read the passwd file. therefore, the file itself needs to have the read bit set accordingly, and its parent directories need the executable bit.
-rw-r--r--.config/guix/system/chaman.scm20
1 files changed, 19 insertions, 1 deletions
diff --git a/.config/guix/system/chaman.scm b/.config/guix/system/chaman.scm
index 6a359fb..e17d465 100644
--- a/.config/guix/system/chaman.scm
+++ b/.config/guix/system/chaman.scm
@@ -1,5 +1,5 @@
(use-modules (gnu))
-(use-service-modules desktop networking ssh xorg)
+(use-service-modules desktop mail networking ssh xorg)
(operating-system
(host-name "chaman")
@@ -53,4 +53,22 @@
(set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout)))
+ (dovecot-service
+ #:config
+ (dovecot-configuration
+ ;; (log-path "/dev/stderr")
+ (protocols (list (protocol-configuration
+ (name "imap"))))
+ (ssl? "no")
+ (listen '("127.0.0.1"))
+ (disable-plaintext-auth? #f)
+ (auth-mechanisms '("plain"))
+ (postmaster-address "mab@gnu.local")
+ (mail-location "maildir:/home/mab/mail/%d/%n/mail")
+ (userdbs (list (userdb-configuration
+ (driver "static")
+ (args (list "uid=mab" "gid=users" "home=/home/mab/mail/%d/%n")))))
+ (passdbs (list (passdb-configuration
+ (driver "passwd-file")
+ (args (list "/data/dovecot-passwd")))))))
%desktop-services)))