diff options
-rw-r--r-- | gnu/services/desktop.scm | 44 | ||||
-rw-r--r-- | gnu/tests/lightdm.scm | 2 |
2 files changed, 34 insertions, 12 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index c0178135b0..e37dbf2827 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021, 2022 muradm <mail@muradm.net> +;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -154,7 +155,8 @@ xfce-desktop-service xfce-desktop-service-type - x11-socket-directory-service + x11-socket-directory-service ;deprecated + x11-socket-directory-service-type enlightenment-desktop-configuration enlightenment-desktop-configuration? @@ -1573,18 +1575,38 @@ rules." ;;; X11 socket directory service ;;; -(define x11-socket-directory-service +(define x11-socket-directory-service-type + (let ((x11-socket-directory-shepherd-service + (shepherd-service + (documentation "Create @file{/tmp/.X11-unix} for XWayland.") + (requirement '(file-systems)) + (provision '(x11-socket-directory)) + (one-shot? #t) + (start #~(lambda _ + (let ((directory "/tmp/.X11-unix")) + (mkdir-p directory) + (chmod directory #o1777))))))) + (service-type + (name 'x11-socket-directory-service) + (extensions + (list + (service-extension shepherd-root-service-type + (compose + list + (const x11-socket-directory-shepherd-service))))) + (default-value #f) ; no default value required + (description + "Create @file{/tmp/.X11-unix} for XWayland. When using X11, libxcb +takes care of creating that directory however, when using XWayland, we +need to create it beforehand.")))) + +(define-deprecated x11-socket-directory-service + x11-socket-directory-service-type ;; Return a service that creates /tmp/.X11-unix. When using X11, libxcb ;; takes care of creating that directory. However, when using XWayland, we ;; need to create beforehand. Thus, create it unconditionally here. - (simple-service 'x11-socket-directory - activation-service-type - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - (let ((directory "/tmp/.X11-unix")) - (mkdir-p directory) - (chmod directory #o1777)))))) + (service x11-socket-directory-service-type)) + ;;; ;;; Enlightenment desktop service. @@ -1889,7 +1911,7 @@ applications needing access to be root.") (service ntp-service-type) - x11-socket-directory-service + (service x11-socket-directory-service-type) (service pulseaudio-service-type) (service alsa-service-type) diff --git a/gnu/tests/lightdm.scm b/gnu/tests/lightdm.scm index dda472bd74..6011d2c515 100644 --- a/gnu/tests/lightdm.scm +++ b/gnu/tests/lightdm.scm @@ -50,7 +50,7 @@ (service polkit-service-type) (service elogind-service-type) (service dbus-root-service-type) - x11-socket-directory-service)) + (service x11-socket-directory-service-type))) (define %lightdm-os (operating-system |