Compare commits

..

3 Commits

Author SHA1 Message Date
Hilton Chain
b1f25b0893
services: base-rosenthal-desktop-services: Include power-profiles-daemon-service-type.
* modules/rosenthal/services/desktop.scm (base-rosenthal-desktop-services): Add
power-profiles-daemon-service-type.
2026-02-06 21:09:12 +08:00
Hilton Chain
e326a012d0
services: Rename %rosenthal-desktop-services.
* modules/rosenthal/services/desktop.scm (%rosenthal-desktop-services/base)
(%rosenthal-desktop-services/gdm, %rosenthal-desktop-services/tuigreet): New
variables.
(%rosenthal-desktop-services-gdm, %rosenthal-desktop-services): Deprecate.
2026-02-06 21:09:11 +08:00
Hilton Chain
80874b0c7b
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.
2026-02-06 19:55:40 +08:00

View File

@ -8,6 +8,7 @@
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix utils)
#:use-module (guix deprecation)
#:use-module (rosenthal utils file)
#:use-module (rosenthal utils packages)
@ -20,6 +21,7 @@
#:use-module (gnu services base)
#:use-module (gnu services configuration)
#:use-module (gnu services desktop)
#:use-module (gnu services pm)
#:use-module (gnu services sddm)
#:use-module (gnu services xorg)
#:use-module (rosenthal services base)
@ -56,6 +58,7 @@
home-niri-configuration
home-niri-service-type
home-noctalia-shell-configuration
home-noctalia-shell-service-type
home-rofi-configuration
@ -72,8 +75,12 @@
%rosenthal-set-keymap
%rosenthal-skeletons
%rosenthal-desktop-services-gdm
%rosenthal-desktop-services
%rosenthal-desktop-services/gdm
%rosenthal-desktop-services/tuigreet
%rosenthal-desktop-services-gdm ;deprecated
%rosenthal-desktop-services ;deprecated
%rosenthal-desktop-home-services))
@ -300,24 +307,31 @@ compositor.")))
;;; 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
(match-record-lambda <home-noctalia-shell-configuration>
(noctalia-shell)
(list (shepherd-service
(documentation "Start noctalia-shell.")
(provision '(noctalia-shell))
(start
#~(make-forkexec-constructor
(list #$(file-append noctalia-shell "/bin/noctalia-shell"))))
(stop #~(make-kill-destructor)))))
(stop #~(make-kill-destructor))))))
(define home-noctalia-shell-service-type
(service-type
(name 'noctalia-shell)
(extensions
(list (service-extension home-shepherd-service-type
(const %home-noctalia-shell-shepherd))
%home-noctalia-shell-shepherd)
(service-extension home-profile-service-type
(const (list noctalia-shell)))))
(default-value #f)
(compose list home-noctalia-shell-configuration-noctalia-shell))))
(default-value (home-noctalia-shell-configuration))
(description "")))
@ -662,13 +676,23 @@ configuration {
;;; Service presets.
;;;
(define %rosenthal-desktop-services-gdm
(define* (base-rosenthal-desktop-services
#:optional (system (or (%current-target-system)
(%current-system))))
(define %display-manager-service-type
(if (string-prefix? "x86_64" system)
gdm-service-type
sddm-service-type))
(cons* (service bluetooth-service-type
(bluetooth-configuration
(auto-enable? #t)))
(service gvfs-service-type)
(service power-profiles-daemon-service-type)
;; Screen lockers for Wayland environment. No dependencies are pulled
;; in since we're using empty files.
(service screen-locker-service-type
@ -686,6 +710,7 @@ configuration {
(simple-service 'backlight udev-service-type (list light))
(modify-services %desktop-services
(delete %display-manager-service-type)
;; Use a font suitable for HiDPI monitors.
(console-font-service-type
_ => (map (lambda (num)
@ -694,14 +719,14 @@ configuration {
"/share/consolefonts/ter-132n")))
(iota 6 1))))))
(define* (rosenthal-desktop-services-for-system
#:optional (system (or (%current-target-system)
(%current-system))))
(define %display-manager-service-type
(if (string-prefix? "x86_64" system)
gdm-service-type
sddm-service-type))
(define-syntax %rosenthal-desktop-services/base
(identifier-syntax (base-rosenthal-desktop-services)))
(define %rosenthal-desktop-services/gdm
(cons* (service gdm-service-type)
%rosenthal-desktop-services/base))
(define %rosenthal-desktop-services/tuigreet
(cons* (service greetd-service-type
(greetd-configuration
(greeter-supplementary-groups '("video" "input"))
@ -720,13 +745,11 @@ configuration {
(greetd-user-session
(command #~(getenv "SHELL"))))))))))
(iota 6 1)))))
(modify-services %rosenthal-desktop-services/base
(delete mingetty-service-type))))
(modify-services %rosenthal-desktop-services-gdm
(delete mingetty-service-type)
(delete %display-manager-service-type))))
(define-syntax %rosenthal-desktop-services
(identifier-syntax (rosenthal-desktop-services-for-system)))
(define-deprecated %rosenthal-desktop-services-gdm %rosenthal-desktop-services/gdm)
(define-deprecated %rosenthal-desktop-services %rosenthal-desktop-services/tuigreet)
(define %rosenthal-desktop-home-services
(cons* (service home-shepherd-service-type