services: Add LXQt desktop service.
* gnu/services/desktop.scm (lxqt-desktop-service-type): New variable. (<lxqt-desktop-configuration>): New record type. (lxqt-desktop-configuration?): New procedure. * doc/guix.texi (Desktop Services): Document this. Co-authored-by: Oleg Pykhalov <go.wigust@gmail.com>
This commit is contained in:
parent
807353fe14
commit
764d896668
2 changed files with 76 additions and 21 deletions
|
@ -17606,27 +17606,27 @@ field of an @code{operating-system} declaration (@pxref{operating-system
|
||||||
Reference, @code{services}}).
|
Reference, @code{services}}).
|
||||||
|
|
||||||
Additionally, the @code{gnome-desktop-service-type},
|
Additionally, the @code{gnome-desktop-service-type},
|
||||||
@code{xfce-desktop-service}, @code{mate-desktop-service-type} and
|
@code{xfce-desktop-service}, @code{mate-desktop-service-type},
|
||||||
@code{enlightenment-desktop-service-type} procedures can add GNOME, Xfce, MATE
|
@code{lxqt-desktop-service-type} and @code{enlightenment-desktop-service-type}
|
||||||
and/or Enlightenment to a system. To ``add GNOME'' means that system-level
|
procedures can add GNOME, Xfce, MATE and/or Enlightenment to a system. To
|
||||||
services like the backlight adjustment helpers and the power management
|
``add GNOME'' means that system-level services like the backlight adjustment
|
||||||
utilities are added to the system, extending @code{polkit} and @code{dbus}
|
helpers and the power management utilities are added to the system, extending
|
||||||
appropriately, allowing GNOME to operate with elevated privileges on a
|
@code{polkit} and @code{dbus} appropriately, allowing GNOME to operate with
|
||||||
limited number of special-purpose system interfaces. Additionally,
|
elevated privileges on a limited number of special-purpose system interfaces.
|
||||||
adding a service made by @code{gnome-desktop-service-type} adds the GNOME
|
Additionally, adding a service made by @code{gnome-desktop-service-type} adds
|
||||||
metapackage to the system profile. Likewise, adding the Xfce service
|
the GNOME metapackage to the system profile. Likewise, adding the Xfce
|
||||||
not only adds the @code{xfce} metapackage to the system profile, but it
|
service not only adds the @code{xfce} metapackage to the system profile, but
|
||||||
also gives the Thunar file manager the ability to open a ``root-mode''
|
it also gives the Thunar file manager the ability to open a ``root-mode'' file
|
||||||
file management window, if the user authenticates using the
|
management window, if the user authenticates using the administrator's
|
||||||
administrator's password via the standard polkit graphical interface.
|
password via the standard polkit graphical interface. To ``add MATE'' means
|
||||||
To ``add MATE'' means that @code{polkit} and @code{dbus} are extended
|
that @code{polkit} and @code{dbus} are extended appropriately, allowing MATE
|
||||||
appropriately, allowing MATE to operate with elevated privileges on a
|
to operate with elevated privileges on a limited number of special-purpose
|
||||||
limited number of special-purpose system interfaces. Additionally,
|
system interfaces. Additionally, adding a service of type
|
||||||
adding a service of type @code{mate-desktop-service-type} adds the MATE
|
@code{mate-desktop-service-type} adds the MATE metapackage to the system
|
||||||
metapackage to the system profile. ``Adding Enlightenment'' means that
|
profile. ``Adding Enlightenment'' means that @code{dbus} is extended
|
||||||
@code{dbus} is extended appropriately, and several of Enlightenment's binaries
|
appropriately, and several of Enlightenment's binaries are set as setuid,
|
||||||
are set as setuid, allowing Enlightenment's screen locker and other
|
allowing Enlightenment's screen locker and other functionality to work as
|
||||||
functionality to work as expected.
|
expected.
|
||||||
|
|
||||||
The desktop environments in Guix use the Xorg display server by
|
The desktop environments in Guix use the Xorg display server by
|
||||||
default. If you'd like to use the newer display server protocol
|
default. If you'd like to use the newer display server protocol
|
||||||
|
@ -17694,6 +17694,24 @@ The MATE package to use.
|
||||||
@end table
|
@end table
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
|
@deffn {Scheme Variable} lxqt-desktop-service-type
|
||||||
|
This is the type of the service that runs the @uref{https://lxqt.github.io,
|
||||||
|
LXQt desktop environment}. Its value is a @code{lxqt-desktop-configuration}
|
||||||
|
object (see below).
|
||||||
|
|
||||||
|
This service adds the @code{lxqt} package to the system
|
||||||
|
profile.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deftp {Data Type} lxqt-desktop-configuration
|
||||||
|
Configuration record for the LXQt desktop environment.
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item @code{lxqt} (default: @code{lxqt})
|
||||||
|
The LXQT package to use.
|
||||||
|
@end table
|
||||||
|
@end deftp
|
||||||
|
|
||||||
@deffn {Scheme Variable} enlightenment-desktop-service-type
|
@deffn {Scheme Variable} enlightenment-desktop-service-type
|
||||||
Return a service that adds the @code{enlightenment} package to the system
|
Return a service that adds the @code{enlightenment} package to the system
|
||||||
profile, and extends dbus with actions from @code{efl}.
|
profile, and extends dbus with actions from @code{efl}.
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||||
;;; Copyright © 2019 David Wilson <david@daviwil.com>
|
;;; Copyright © 2019 David Wilson <david@daviwil.com>
|
||||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
|
;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -53,6 +54,7 @@
|
||||||
#:use-module (gnu packages suckless)
|
#:use-module (gnu packages suckless)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages libusb)
|
#:use-module (gnu packages libusb)
|
||||||
|
#:use-module (gnu packages lxqt)
|
||||||
#:use-module (gnu packages mate)
|
#:use-module (gnu packages mate)
|
||||||
#:use-module (gnu packages nfs)
|
#:use-module (gnu packages nfs)
|
||||||
#:use-module (gnu packages enlightenment)
|
#:use-module (gnu packages enlightenment)
|
||||||
|
@ -127,6 +129,11 @@
|
||||||
mate-desktop-service
|
mate-desktop-service
|
||||||
mate-desktop-service-type
|
mate-desktop-service-type
|
||||||
|
|
||||||
|
lxqt-desktop-configuration
|
||||||
|
lxqt-desktop-configuration?
|
||||||
|
lxqt-desktop-service
|
||||||
|
lxqt-desktop-service-type
|
||||||
|
|
||||||
xfce-desktop-configuration
|
xfce-desktop-configuration
|
||||||
xfce-desktop-configuration?
|
xfce-desktop-configuration?
|
||||||
xfce-desktop-service
|
xfce-desktop-service
|
||||||
|
@ -1009,6 +1016,36 @@ system as root from within a user session, after the user has authenticated
|
||||||
with the administrator's password."
|
with the administrator's password."
|
||||||
(service xfce-desktop-service-type config))
|
(service xfce-desktop-service-type config))
|
||||||
|
|
||||||
|
+
|
||||||
|
;;;
|
||||||
|
;;; Lxqt desktop service.
|
||||||
|
;;;
|
||||||
|
|
||||||
|
(define-record-type* <lxqt-desktop-configuration> lxqt-desktop-configuration
|
||||||
|
make-lxqt-desktop-configuration
|
||||||
|
lxqt-desktop-configuration?
|
||||||
|
(lxqt lxqt-package
|
||||||
|
(default lxqt)))
|
||||||
|
|
||||||
|
(define (lxqt-polkit-settings config)
|
||||||
|
"Return the list of LXQt dependencies that provide polkit actions and
|
||||||
|
rules."
|
||||||
|
(let ((lxqt (lxqt-package config)))
|
||||||
|
(map (lambda (name)
|
||||||
|
((package-direct-input-selector name) lxqt))
|
||||||
|
'("lxqt-admin"))))
|
||||||
|
|
||||||
|
(define lxqt-desktop-service-type
|
||||||
|
(service-type
|
||||||
|
(name 'lxqt-desktop)
|
||||||
|
(extensions
|
||||||
|
(list (service-extension polkit-service-type
|
||||||
|
lxqt-polkit-settings)
|
||||||
|
(service-extension profile-service-type
|
||||||
|
(compose list lxqt-package))))
|
||||||
|
(default-value (lxqt-desktop-configuration))
|
||||||
|
(description "Run LXQt desktop environment.")))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; X11 socket directory service
|
;;; X11 socket directory service
|
||||||
|
|
Reference in a new issue