guix: add local dovecot mail server to chaman
authorAmin Bandali <mab@gnu.org>
Thu, 23 Jan 2020 22:48:42 +0000 (17:48 -0500)
committerAmin Bandali <mab@gnu.org>
Thu, 23 Jan 2020 22:48:42 +0000 (17:48 -0500)
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.

.config/guix/system/chaman.scm

index 6a359fb..e17d465 100644 (file)
@@ -1,5 +1,5 @@
 (use-modules (gnu))
 (use-modules (gnu))
-(use-service-modules desktop networking ssh xorg)
+(use-service-modules desktop mail networking ssh xorg)
 
 (operating-system
  (host-name "chaman")
 
 (operating-system
  (host-name "chaman")
    (set-xorg-configuration
     (xorg-configuration
      (keyboard-layout keyboard-layout)))
    (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)))
    %desktop-services)))