blob: d7797e37a944aaf2799716d776f577f64c7fe603 (
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
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
|
(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
#:use-module (guix channels) ; %default-channels
#:use-module (guix gexp) ; plain-file
)
;; record guix-configuration ->
;; record guix-configuration
(define (guix configuration)
(let* ((deployment-commit "c24ce7cb11e74da13d491f9de3c4b7040a069f43")
(distribution-commit "7d17bded11ef1239592e6e5abd40ceee1e99cbb8")
(marekpasnikowski-fingerprint
(openpgp-fingerprint "590E 500F E39D 26B3 E60B 743B 6D81 B120 7711 899F"))
(nonguix-commit "897c1a470da759236cc11798f4e0a5f7d4d59fbc")
(nonguix-fingerprint
(openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))
(deployment-introduction (make-channel-introduction deployment-commit
marekpasnikowski-fingerprint))
(deployment-url "https://git.marekpasnikowski.pl/git/deployment.git")
(distribution-introduction (make-channel-introduction distribution-commit
marekpasnikowski-fingerprint))
(distribution-url "https://git.marekpasnikowski.pl/git/distribution.git")
(nonguix-authorized-guix-key-content
(string-append
"(public-key \n"
"(ecc \n"
"(curve Ed25519) \n"
"(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#))) \n"))
(nonguix-authorized-guix-key-name "nonguix-authorized-guix-key")
(nonguix-introduction (make-channel-introduction nonguix-commit
nonguix-fingerprint))
(nonguix-url "https://gitlab.com/nonguix/nonguix")
(deployment (channel (name 'deployment)
(url deployment-url)
(introduction deployment-introduction)))
(distribution (channel (name 'distribution)
(url distribution-url)
(introduction distribution-introduction)))
(nonguix (channel (name 'nonguix)
(url nonguix-url)
(introduction nonguix-introduction)))
(nonguix-key (plain-file nonguix-authorized-guix-key-name
nonguix-authorized-guix-key-content))
(nonguix-authorized-guix-keys (list nonguix-key))
(nonguix-substitute-urls (list "https://substitutes.nonguix.org"))
(suweren-channels (list deployment
distribution
nonguix))
(%default-authorized-guix-keys* (append %default-authorized-guix-keys
nonguix-authorized-guix-keys))
(%default-channels* (append %default-channels
suweren-channels))
(%default-substitute-urls* (append %default-substitute-urls
nonguix-substitute-urls))
(extra-options* (list "--gc-keep-derivations=yes"
"--gc-keep-outputs=yes")))
(guix-configuration (inherit configuration)
(channels %default-channels*)
(authorized-keys %default-authorized-guix-keys*)
(substitute-urls %default-substitute-urls*)
(extra-options extra-options*))))
;; record login-configuration ->
;; record login-configuration
(define (login configuration)
(login-configuration (inherit configuration)
(allow-empty-passwords? #f)))
;; record package ->
;; record bootloader-configuration ->
;; record package ->
;; (record package) ->
;; string ->
;; (record file-system) ->
;; (record user-account) ->
;; record operating-system
(define-public (%suweren-operating-system kernel*
bootloader-configuration*
initrd*
firmware*
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 (kernel kernel*)
(bootloader bootloader-configuration*)
(initrd initrd*)
(firmware firmware*)
(host-name host-name*)
(file-systems file-systems*)
(users users*)
(services services*))))
|