getmail,msmtp: adapt for guix, guix: fix indent, add service-dovecot
[~bandali/configs] / .config / guix / system / chaman.scm
index 32ebe79..beddfa6 100644 (file)
@@ -1,46 +1,63 @@
 (use-modules (gnu))
-(use-service-modules desktop networking ssh xorg)
+(use-service-modules desktop mail networking ssh xorg)
 
 (operating-system
   (host-name "chaman")
   (locale "en_CA.utf8")
   (timezone "America/Toronto")
   (keyboard-layout
-    (keyboard-layout "us" "basic"))
+   (keyboard-layout "us" "basic"))
   (bootloader
-    (bootloader-configuration
-      (bootloader grub-bootloader)
-      (target "/dev/sda")
-      (keyboard-layout keyboard-layout)))
+   (bootloader-configuration
+    (bootloader grub-bootloader)
+    (target "/dev/sda")
+    (keyboard-layout keyboard-layout)))
   (mapped-devices
-    (list (mapped-device
-            (source
-              (uuid "3d9d579d-3626-4fb2-9c16-beae804f1cf9"))
-            (target "groot")
-            (type luks-device-mapping))))
+   (list (mapped-device
+          (source
+           (uuid "3d9d579d-3626-4fb2-9c16-beae804f1cf9"))
+          (target "groot")
+          (type luks-device-mapping))))
   (file-systems
-    (cons* (file-system
-             (mount-point "/")
-             (device "/dev/mapper/groot")
-             (type "ext4")
-             (dependencies mapped-devices))
-           %base-file-systems))
+   (cons* (file-system
+            (mount-point "/")
+            (device "/dev/mapper/groot")
+            (type "ext4")
+            (dependencies mapped-devices))
+          %base-file-systems))
   (users (cons* (user-account
-                  (name "bandali")
-                  (group "users")
-                  (home-directory "/home/bandali")
-                  (supplementary-groups
-                    '("wheel" "netdev" "audio" "video")))
+                 (name "bandali")
+                 (group "users")
+                 (home-directory "/home/bandali")
+                 (supplementary-groups
+                  '("wheel" "netdev" "audio" "video")))
                 %base-user-accounts))
   (packages
-    (append
-      (list (specification->package "nss-certs"))
-      %base-packages))
+   (append
+    (list (specification->package "nss-certs"))
+    %base-packages))
   (services
-    (append
-      (list (service xfce-desktop-service-type)
-            (service openssh-service-type)
-            (set-xorg-configuration
-              (xorg-configuration
-                (keyboard-layout keyboard-layout))))
-      %desktop-services)))
+   (append
+    (list (service xfce-desktop-service-type)
+          (service openssh-service-type)
+          (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 "bandali@gnu.local")
+                            (mail-location "maildir:/home/bandali/mail/%d/%n/mail")
+                            (userdbs (list (userdb-configuration
+                                            (driver "static")
+                                            (args (list "uid=bandali" "gid=users" "home=/home/bandali/mail/%d/%n")))))
+                            (passdbs (list (passdb-configuration
+                                            (driver "passwd-file")
+                                            (args (list "/home/bandali/.config/dovecot/passwd"))))))))
+    %desktop-services)))