blob: 781c3581c996cbc2a5374c335c7714d7dad868c4 (
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
|
(define-module (abcdw hosts ixy)
#:use-module (rde features base)
#:use-module (rde features system)
#:use-module (rde features wm)
#:use-module (gnu system file-systems)
#:use-module (gnu system mapped-devices)
#:use-module (ice-9 match))
;;; Hardware/host specifis features
;; TODO: Switch from UUIDs to partition labels For better
;; reproducibilty and easier setup. Grub doesn't support luks2 yet.
(define ixy-mapped-devices
(list (mapped-device
(source (uuid "0e51ee1e-49ef-45c6-b0c3-6307e9980fa9"))
(target "enc")
(type luks-device-mapping))))
(define ixy-file-systems
(append
(map (match-lambda
((subvol . mount-point)
(file-system
(type "btrfs")
(device "/dev/mapper/enc")
(mount-point mount-point)
(options (format #f "subvol=~a" subvol))
(dependencies ixy-mapped-devices))))
'((root . "/")
(boot . "/boot")
(gnu . "/gnu")
(home . "/home")
(data . "/data")
(log . "/var/log")))
(list
(file-system
(mount-point "/boot/efi")
(type "vfat")
(device (uuid "8C99-0704" 'fat32))))))
(define-public %ixy-features
(list
(feature-host-info
#:host-name "ixy"
;; ls `guix build tzdata`/share/zoneinfo
#:timezone "Asia/Tbilisi")
;;; Allows to declare specific bootloader configuration,
;;; grub-efi-bootloader used by default
;; (feature-bootloader)
(feature-file-systems
#:mapped-devices ixy-mapped-devices
#:file-systems ixy-file-systems)
(feature-kanshi
#:extra-config
`((profile laptop ((output eDP-1 enable)))
(profile docked ((output eDP-1 enable)
(output DP-2 scale 2)))))
(feature-hidpi)))
|