blob: 9fd2acc8da4b963782babdf615d0d38c91fa8907 (
about) (
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
|
* System Configuration
[[https://guix.gnu.org/manual/devel/en/html_node/System-Configuration.html]]
** operating-system Reference
[[https://guix.gnu.org/manual/devel/en/html_node/operating_002dsystem-Reference.html]]
#+NAME: OPERATING-SYSTEM
#+BEGIN_SRC scheme :tangle system-configuration.scm
(define-module (systems ayase system-configuration)
#:use-module (gnu)
#:use-module (gnu services cups)
#:use-module (gnu services desktop)
#:use-module (gnu services networking)
#:use-module (gnu services ssh)
#:use-module (gnu services xorg))
;; DATA
;; ABSTRACTION 2
(define efi-partition
(file-system (mount-point "/boot/efi")
(device (uuid "B4FB-CBD9" 'fat32))
(type "vfat")))
(define marek-account
(user-account (name "marek")
(comment "Marek Paśnikowski")
(group "users")
(home-directory "/home/marek")
(supplementary-groups (list "wheel"
"netdev"
"audio"
"video"))))
(define root-partition
(file-system (mount-point "/")
(device (uuid "615a98cd-a632-4ee5-a6f4-e5ebcaa6fb8c" 'ext4))
(type "ext4")))
(define xorg-configuration
'(xorg-configuration (keyboard-layout keyboard-layout)))
;; ABSTRACTION 1
(define ayase-file-systems
(list root-partition
efi-partition))
(define ayase-user-accounts
(list marek-account))
(define bootloader
(bootloader-configuration (bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout (keyboard-layout "pl"))))
(define main-swap
(swap-space (target (uuid "cc6bbf7c-e42a-4ac3-a9ae-3b14d3b4b841"))))
(define system-packages
(list (specification->package "emacs")
(specification->package "emacs-exwm")
(specification->package "emacs-desktop-environment")))
(define system-services
(list (service openssh-service-type)
(service tor-service-type)
(service cups-service-type)
(set-xorg-configuration xorg-configuration)))
;; PUBLIC
(operating-system (bootloader bootloader)
(keyboard-layout (keyboard-layout "pl"))
(host-name "ayase")
(file-systems (append %base-file-systems
;; %distribution-file-systems
ayase-file-systems))
(swap-devices (list main-swap))
(users (append %base-user-accounts
ayase-user-accounts))
(packages (append %base-packages
;; %distribution-packages
system-packages))
(timezone "Europe/Warsaw")
(locale "pl_PL.utf8")
(services (append %desktop-services
;; %distribution-services
system-services)))
#+END_SRC
|