guix: use local channels for finer control
[~bandali/configs] / .config / guix / system / chaman.scm
index e40a11c..831d9eb 100644 (file)
@@ -1,5 +1,8 @@
-(use-modules (gnu))
-(use-service-modules desktop networking ssh xorg)
+(use-modules (gnu)
+             (gnu packages certs)       ; for nss-certs
+             (gnu packages emacs-xyz)   ; for exwm
+             (gnu packages linux))      ; for powertop
+(use-service-modules admin desktop mail networking pm ssh xorg)
 
 (operating-system
  (host-name "chaman")
  (mapped-devices
   (list (mapped-device
          (source
-          (uuid "9a96bc64-ab47-49f9-aae0-d7ddeabc4011"))
+          (uuid "283da85e-2c84-47e6-a8ca-20f4e8efb806"))
          (target "groot")
          (type luks-device-mapping))
         (mapped-device
          (source
-          (uuid "8cb5bde9-fe13-4490-87a1-caf3e1a2ee52"))
+          (uuid "017ddebc-c2c3-4a0a-bda4-d47ec0bc67f0"))
          (target "data")
          (type luks-device-mapping))))
  (file-systems
          %base-file-systems))
  (users
   (cons* (user-account
-          (name "bandali")
+          (name "mab")
           (group "users")
-          (home-directory "/home/bandali")
+          (home-directory "/home/mab")
           (supplementary-groups
            '("wheel" "netdev" "audio" "video")))
          %base-user-accounts))
  (packages
-  (append
-   (list (specification->package "nss-certs"))
-   %base-packages))
+  (cons* nss-certs
+         emacs-exwm
+         %base-packages))
  (services
-  (append
-   (list (service xfce-desktop-service-type)
-         (set-xorg-configuration
-          (xorg-configuration
-           (keyboard-layout keyboard-layout))))
+  (cons*
+   (service xfce-desktop-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 "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")))))))
+   (service rottlog-service-type)
+   (service thermald-service-type)
+   (service tlp-service-type
+            (tlp-configuration
+             (cpu-boost-on-ac? #t)
+             (sound-power-save-on-bat 0)
+             (sound-power-save-controller? #f)
+             ;; (usb-blacklist "0e8f:00a8") ;for some reason doesn't seem to work
+             (usb-autosuspend? #f)))
+   (simple-service 'my-powertop-auto-tune activation-service-type
+                   #~(zero? (system* #$(file-append powertop "/sbin/powertop")
+                                     "--auto-tune")))
    %desktop-services)))