services: Add home-noctalia-shell-configuration.

* modules/rosenthal/services/desktop.scm
(home-noctalia-shell-configuration): New data type.
(%home-noctalia-shell-shepherd, home-noctalia-shell-service-type): Use it.
This commit is contained in:
Hilton Chain 2026-02-06 19:55:40 +08:00
parent af7bf64a8c
commit 80874b0c7b
No known key found for this signature in database
GPG Key ID: ACC66D09CA528292

View File

@ -56,6 +56,7 @@
home-niri-configuration home-niri-configuration
home-niri-service-type home-niri-service-type
home-noctalia-shell-configuration
home-noctalia-shell-service-type home-noctalia-shell-service-type
home-rofi-configuration home-rofi-configuration
@ -300,24 +301,31 @@ compositor.")))
;;; Noctalia ;;; Noctalia
;;; ;;;
(define-configuration/no-serialization home-noctalia-shell-configuration
(noctalia-shell
(file-like noctalia-shell)
"File-like object to provide @command{/bin/noctalia-shell}."))
(define %home-noctalia-shell-shepherd (define %home-noctalia-shell-shepherd
(match-record-lambda <home-noctalia-shell-configuration>
(noctalia-shell)
(list (shepherd-service (list (shepherd-service
(documentation "Start noctalia-shell.") (documentation "Start noctalia-shell.")
(provision '(noctalia-shell)) (provision '(noctalia-shell))
(start (start
#~(make-forkexec-constructor #~(make-forkexec-constructor
(list #$(file-append noctalia-shell "/bin/noctalia-shell")))) (list #$(file-append noctalia-shell "/bin/noctalia-shell"))))
(stop #~(make-kill-destructor))))) (stop #~(make-kill-destructor))))))
(define home-noctalia-shell-service-type (define home-noctalia-shell-service-type
(service-type (service-type
(name 'noctalia-shell) (name 'noctalia-shell)
(extensions (extensions
(list (service-extension home-shepherd-service-type (list (service-extension home-shepherd-service-type
(const %home-noctalia-shell-shepherd)) %home-noctalia-shell-shepherd)
(service-extension home-profile-service-type (service-extension home-profile-service-type
(const (list noctalia-shell))))) (compose list home-noctalia-shell-configuration-noctalia-shell))))
(default-value #f) (default-value (home-noctalia-shell-configuration))
(description ""))) (description "")))