summaryrefslogtreecommitdiff
path: root/suweren/system.scm
blob: 30f59617057953dba480c40eb9f030b0806f656d (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
(define-module (suweren system)
  #:use-module (gnu services)		; modify-services
  #:use-module (gnu services base)      ; login-configuration
					; login-service-type
  #:use-module (gnu services desktop)   ; %desktop-services
  #:use-module (gnu services sddm)      ; 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 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 (service sddm-service-type))

	 (%desktop-services* (modify-services %desktop-services
					      (delete gdm-service-type)
					      (login-service-type configuration
								  =>
								  (login configuration))))
	 (suweren-services (list 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*))))