blob: b7268d5a4741e3d98f7a0bd9bf68e24e64cc75d2 (
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
|
(define-module (suweren system)
#:use-module (gnu services) ; modify-services
#:use-module (gnu services base) ; guix-configuration
; guix-service-type
; login-configuration
; login-service-type
#:use-module (gnu services desktop) ; %desktop-services
; plasma-desktop-service-type
#:use-module (gnu services sddm) ; sddm-configuration
; sddm-service-type
#:use-module (gnu services xorg) ; gdm-service-type
#:use-module (gnu system) ; operating-system
#:use-module (gnu system shadow) ; %base-user-accounts
)
;; record guix-configuration ->
;; record guix-configuration
(define (guix configuration)
(let ((extra-options* (list "--gc-keep-derivations=yes"
"--gc-keep-outputs=yes")))
(guix-configuration (inherit configuration)
(extra-options extra-options*))))
;; record login-configuration ->
;; record login-configuration
(define (login configuration)
(login-configuration (inherit configuration)
(allow-empty-passwords? #f)))
;; record bootloader-configuration ->
;; string ->
;; (record file-system) ->
;; (record user-account) ->
;; record operating-system
(define-public (%suweren-operating-system bootloader-configuration*
host-name*
file-systems*
users*)
(let* ((sddm-configuration* (sddm-configuration (theme "breeze")))
(plasma-desktop (service plasma-desktop-service-type))
(sddm (service sddm-service-type
sddm-configuration*))
(%desktop-services* (modify-services %desktop-services
(delete gdm-service-type)
(guix-service-type configuration
=>
(guix configuration))
(login-service-type configuration
=>
(login configuration))))
(suweren-services (list plasma-desktop
sddm))
(services* (append %desktop-services*
suweren-services))
(users* (append %base-user-accounts
users*)))
(operating-system (bootloader bootloader-configuration*)
(host-name host-name*)
(file-systems file-systems*)
(users users*)
(services services*))))
|