summaryrefslogtreecommitdiff
path: root/.config/guix/garm.scm
blob: 7ffdb3beab85d23ed6a97c3247c06042f32731ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This configuration adapts the base-level 'ymir' ;;
;; OS declaration for 'garm', a laptop.            ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(define-module (garm)
  #:use-module (gnu)
  #:use-module (gnu home)
  #:use-module (gnu home services)
  #:use-module (gnu home services syncthing)
  #:use-module (gnu packages)
  #:use-module (gnu packages linux)
  #:use-module (gnu services)
  #:use-module (gnu services guix)
  #:use-module (gnu services pm)
  #:use-module (guix gexp)
  #:use-module (modules base)
  #:use-module (modules dwm)
  #:use-module (modules utils)
  #:use-module (modules xorg)
  #:use-module (modules ymir)
  #:use-module (modules pdf))


(define home
  (home-environment
   (services
    `(,@bd-base-home-services
      ,@bd-desktop-home-services
      ,@bd-pdf-services
      ,@bd-dwm-home-services
      ,(service home-syncthing-service-type)))))


(operating-system
 (inherit ymir)
 (host-name "garm")

 ;; (all packages are system wide)
 (packages
  `(,@bd-base-system-packages
    ,@bd-desktop-system-packages
    ,@bd-dwm-system-packages
    ,@bd-mpd-package
    ,@bd-games-packages

    ;; machine-specific packages
    ,@(list
       brightnessctl
       tlp)))

 (services
  `(,@bd-base-system-services
    ,@bd-desktop-system-services
    ,@bd-mpd-service
    ,(service guix-home-service-type
              `((,username ,home)))
    ,(service tlp-service-type
              (tlp-configuration
               (cpu-scaling-governor-on-ac (list "powersave"))
               (cpu-scaling-governor-on-bat (list "powersave"))
               (energy-perf-policy-on-ac "powersave")
               (energy-perf-policy-on-bat "powersave")
               (pcie-aspm-on-ac "powersave")
               (pcie-aspm-on-bat "powersave")
               (sched-powersave-on-bat? #t)
               (sched-powersave-on-ac? #t)
               (sata-linkpwr-on-ac "min_power")
               (sata-linkpwr-on-bat "min_power")
               (start-charge-thresh-bat0 60)
               (stop-charge-thresh-bat0 80)))
    ,(service thermald-service-type)))

 (mapped-devices (list (mapped-device
                        (source (uuid "1c6a4f4d-2494-4b83-965c-1bcfdbf8a0b8"))
                        (target "hidden")
                        (type luks-device-mapping))))

 (file-systems (cons* (file-system
                       (mount-point "/boot/efi")
                       (device (uuid
                                "1A7A-026F"
                                'fat32))
                       (type "vfat"))
                      (file-system
                       (mount-point "/home")
                       (device "/dev/mapper/hidden")
                       (type "ext4")
                       (dependencies mapped-devices))
                      (file-system
                       (mount-point "/")
                       (device (uuid
                                "0a0b9520-308f-4072-a62b-b91ffacdc5b0"
                                'ext4))
                       (type "ext4")) %base-file-systems)))