blob: 601ee27f89330db5e8660caf6915d198a63d7d90 (
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
(use-modules (gnu)
((gnu packages emacs-xyz) #:select (emacs-exwm-no-x-toolkit))
((gnu packages suckless) #:select (slock))
(gnu services dbus)
(gnu services desktop)
(gnu services dict)
(gnu services networking)
(gnu services sound)
(gnu services virtualization)
(gnu services vpn)
(gnu services xorg))
(operating-system
(host-name "steel")
(timezone "Europe/London")
(locale "ta_IN.utf8")
(kernel-arguments (cons "zswap.enabled=1"
%default-kernel-arguments))
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/sda"))))
(mapped-devices (list (mapped-device
;; LUKS partition UUID
(source (uuid "8f9d63b5-2030-4c3c-8779-3ab711ad2a9f"))
(target "cryptlvm")
(type luks-device-mapping))
(mapped-device
(source "VolumeGroup")
(targets (list "VolumeGroup-root"
"VolumeGroup-home"
"VolumeGroup-swap"))
(type lvm-device-mapping))))
(file-systems
(append (list (file-system
(device (file-system-label "root"))
(mount-point "/")
(type "btrfs")
(options "compress-force=zstd")
(dependencies mapped-devices))
(file-system
(device (file-system-label "home"))
(mount-point "/home")
(type "ext4")
(dependencies mapped-devices))
(file-system
(device "none")
(mount-point "/tmp")
(type "tmpfs")
(options "size=8G")))
%base-file-systems))
(swap-devices (list (swap-space
(target (file-system-label "swap"))
(dependencies mapped-devices)
(discard? #t))))
(users (cons* (user-account
(name "arun")
(comment "Arun Isaac")
(group "users")
(supplementary-groups '("audio"
"video"
"wheel"
"dialout"))
(home-directory "/home/arun"))
(user-account
(name "nardhini")
(comment "Nardhini")
(group "users")
(supplementary-groups '("audio" "video"))
(home-directory "/home/nardhini"))
(user-account
(name "guest")
(comment "Guest")
(group "users")
(supplementary-groups '("audio" "video"))
(home-directory "/home/guest"))
%base-user-accounts))
;; This is where we specify system-wide packages.
(packages (cons* emacs-exwm-no-x-toolkit
(make-glibc-utf8-locales glibc
#:locales (list "en_GB" "en_US" "ta_IN")
#:name "glibc-tamil-locales")
%base-packages))
(services (cons* (service dbus-root-service-type)
(service elogind-service-type)
fontconfig-file-system-service
(service screen-locker-service-type
(screen-locker-configuration
(name "slock")
(program (file-append slock "/bin/slock"))))
(service alsa-service-type)
(service dhcpcd-service-type)
(service nftables-service-type
(nftables-configuration
(ruleset (local-file "steel-nftables.conf"))))
(service dicod-service-type)
(service ntp-service-type)
(service pulseaudio-service-type)
(service qemu-binfmt-service-type
(qemu-binfmt-configuration
(platforms (lookup-qemu-platforms "riscv64"))))
(service slim-service-type
(slim-configuration
(xorg-configuration
(xorg-configuration
(extra-config
;; Enable tap on touchpad.
(list "Section \"InputClass\"
Identifier \"SynPS/2 Synaptics TouchPad\"
Driver \"libinput\"
Option \"Tapping\" \"on\"
EndSection"))))))
(service udisks-service-type)
;; TODO: Manage WiFi passwords as secrets that
;; don't get into the store.
(service wpa-supplicant-service-type
(wpa-supplicant-configuration
(interface "wlp0s29u1u3")
(config-file (local-file "wpasupplicant.conf"))))
(service wireguard-service-type
(wireguard-configuration
(addresses (list "192.168.2.15/24"))
(peers (list (wireguard-peer
(name "mugam")
(endpoint "188.166.169.68:51820")
(public-key "9JMD6qvC0n01R3Ky/4hk4Z2LraNQJtCCeYZi0UYEvAA=")
(allowed-ips (list "192.168.2.0/24")))))))
(service block-facebook-hosts-service-type)
%base-services))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
|