(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 sound) #:use-module (services guix channels) #:use-module (services nonguix substitute) #:use-module (services plasma-desktop) #: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"))) (cups-service (service cups-service-type cups-configuration*)) (%desktop-services* (modify-services %desktop-services (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*))) (append %desktop-services* (list cups-service nbfc-service plasma-desktop-service))))