summaryrefslogtreecommitdiff
path: root/suweren/services.scm
blob: 6e3c6fd3bd9c7a0a3cdff102592fecc37fcc6bb9 (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
(define-module (suweren services)
  #:use-module (gnu packages cups)
  #:use-module (gnu packages linux)
  #:use-module (gnu services)
  #:use-module (gnu services base)
  #:use-module (gnu services cups)
  #:use-module (gnu services desktop)
  #:use-module (gnu services sddm)
  #:use-module (gnu services sound)
  #:use-module (gnu services xorg)
  #:use-module (services guix channels)
  #:use-module (services nonguix substitute)
  #:use-module (services plasma-desktop)
  #:use-module (suweren trezor) ; trezor-bridge
  #:use-module (upstream services nbfc))

(define (guix-options configuration-record)
  (let ((extra-options (list "--gc-keep-derivations=yes"
			     "--gc-keep-outputs=yes")))
    (guix-configuration (inherit configuration-record)
			(extra-options extra-options))))

(define-public %distribution-services
  (let* ((cups-configuration* (cups-configuration (web-interface? #t)))
	 (nbfc-configuration* (nbfc-configuration (model "Acer Nitro AN515-43")))
	 (sddm-configuration* (sddm-configuration ;; (display-server "wayland")
						  (theme "breeze")))

	 (cups-service (service cups-service-type
				cups-configuration*))
	 (%desktop-services* (modify-services %desktop-services
					      (delete gdm-service-type)
					      (delete pulseaudio-service-type)
					      (guix-service-type configuration
								 =>
								 (guix-options configuration))
					      (guix-service-type configuration
								 =>
								 (channels configuration))
					      (guix-service-type configuration
								 =>
								 (nonguix-substitute configuration))))
	 (nbfc-service (service nbfc-service-type
				nbfc-configuration*))
	 (sddm-service (service sddm-service-type
				sddm-configuration*)))
    (append %desktop-services*
	    trezor-bridge
	    (list cups-service
		  nbfc-service
		  plasma-desktop-service
		  sddm-service))))