| 1 | (use-modules (gnu) |
| 2 | (gnu packages certs) ; for nss-certs |
| 3 | (gnu packages emacs-xyz) ; for exwm |
| 4 | (gnu packages linux)) ; for powertop |
| 5 | (use-service-modules admin desktop mail networking pm ssh xorg) |
| 6 | |
| 7 | (operating-system |
| 8 | (host-name "chaman") |
| 9 | (locale "en_CA.utf8") |
| 10 | (timezone "Canada/Eastern") |
| 11 | (keyboard-layout |
| 12 | (keyboard-layout "us" "basic")) |
| 13 | (bootloader |
| 14 | (bootloader-configuration |
| 15 | (bootloader grub-bootloader) |
| 16 | (target "/dev/sda") |
| 17 | (keyboard-layout keyboard-layout))) |
| 18 | (mapped-devices |
| 19 | (list (mapped-device |
| 20 | (source |
| 21 | (uuid "283da85e-2c84-47e6-a8ca-20f4e8efb806")) |
| 22 | (target "groot") |
| 23 | (type luks-device-mapping)) |
| 24 | (mapped-device |
| 25 | (source |
| 26 | (uuid "017ddebc-c2c3-4a0a-bda4-d47ec0bc67f0")) |
| 27 | (target "data") |
| 28 | (type luks-device-mapping)))) |
| 29 | (file-systems |
| 30 | (cons* (file-system |
| 31 | (mount-point "/") |
| 32 | (device "/dev/mapper/groot") |
| 33 | (type "ext4") |
| 34 | (dependencies mapped-devices)) |
| 35 | (file-system |
| 36 | (mount-point "/data") |
| 37 | (device "/dev/mapper/data") |
| 38 | (type "ext4") |
| 39 | (dependencies mapped-devices)) |
| 40 | %base-file-systems)) |
| 41 | (users |
| 42 | (cons* (user-account |
| 43 | (name "bandali") |
| 44 | (group "users") |
| 45 | (home-directory "/home/bandali") |
| 46 | (supplementary-groups |
| 47 | '("wheel" "netdev" "audio" "video"))) |
| 48 | %base-user-accounts)) |
| 49 | (packages |
| 50 | (cons* nss-certs |
| 51 | emacs-exwm |
| 52 | %base-packages)) |
| 53 | (services |
| 54 | (cons* |
| 55 | (service xfce-desktop-service-type) |
| 56 | (set-xorg-configuration |
| 57 | (xorg-configuration |
| 58 | (keyboard-layout keyboard-layout))) |
| 59 | (dovecot-service |
| 60 | #:config |
| 61 | (dovecot-configuration |
| 62 | ;; (log-path "/dev/stderr") |
| 63 | (protocols (list (protocol-configuration |
| 64 | (name "imap")))) |
| 65 | (ssl? "no") |
| 66 | (listen '("127.0.0.1")) |
| 67 | (disable-plaintext-auth? #f) |
| 68 | (auth-mechanisms '("plain")) |
| 69 | (postmaster-address "bandali@gnu.local") |
| 70 | (mail-location "maildir:/home/bandali/mail/%d/%n/mail") |
| 71 | (userdbs (list (userdb-configuration |
| 72 | (driver "static") |
| 73 | (args (list "uid=bandali" "gid=users" "home=/home/bandali/mail/%d/%n"))))) |
| 74 | (passdbs (list (passdb-configuration |
| 75 | (driver "passwd-file") |
| 76 | (args (list "/data/dovecot-passwd"))))))) |
| 77 | (service rottlog-service-type) |
| 78 | (service thermald-service-type) |
| 79 | (service tlp-service-type |
| 80 | (tlp-configuration |
| 81 | (cpu-boost-on-ac? #t) |
| 82 | (sound-power-save-on-bat 0) |
| 83 | (sound-power-save-controller? #f) |
| 84 | ;; (usb-blacklist "0e8f:00a8") ;for some reason doesn't seem to work |
| 85 | (usb-autosuspend? #f))) |
| 86 | (simple-service 'my-powertop-auto-tune activation-service-type |
| 87 | #~(zero? (system* #$(file-append powertop "/sbin/powertop") |
| 88 | "--auto-tune"))) |
| 89 | (simple-service 'light-udev-rules udev-service-type (list light)) |
| 90 | %desktop-services))) |