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>master
parent
807353fe14
commit
764d896668
|
@ -17606,27 +17606,27 @@ field of an @code{operating-system} declaration (@pxref{operating-system
|
|||
Reference, @code{services}}).
|
||||
|
||||
Additionally, the @code{gnome-desktop-service-type},
|
||||
@code{xfce-desktop-service}, @code{mate-desktop-service-type} and
|
||||
@code{enlightenment-desktop-service-type} procedures can add GNOME, Xfce, MATE
|
||||
and/or Enlightenment to a system. To ``add GNOME'' means that system-level
|
||||
services like the backlight adjustment helpers and the power management
|
||||
utilities are added to the system, extending @code{polkit} and @code{dbus}
|
||||
appropriately, allowing GNOME to operate with elevated privileges on a
|
||||
limited number of special-purpose system interfaces. Additionally,
|
||||
adding a service made by @code{gnome-desktop-service-type} adds the GNOME
|
||||
metapackage to the system profile. Likewise, adding the Xfce service
|
||||
not only adds the @code{xfce} metapackage to the system profile, but it
|
||||
also gives the Thunar file manager the ability to open a ``root-mode''
|
||||
file management window, if the user authenticates using the
|
||||
administrator's password via the standard polkit graphical interface.
|
||||
To ``add MATE'' means that @code{polkit} and @code{dbus} are extended
|
||||
appropriately, allowing MATE to operate with elevated privileges on a
|
||||
limited number of special-purpose system interfaces. Additionally,
|
||||
adding a service of type @code{mate-desktop-service-type} adds the MATE
|
||||
metapackage to the system profile. ``Adding Enlightenment'' means that
|
||||
@code{dbus} is extended appropriately, and several of Enlightenment's binaries
|
||||
are set as setuid, allowing Enlightenment's screen locker and other
|
||||
functionality to work as expected.
|
||||
@code{xfce-desktop-service}, @code{mate-desktop-service-type},
|
||||
@code{lxqt-desktop-service-type} and @code{enlightenment-desktop-service-type}
|
||||
procedures can add GNOME, Xfce, MATE and/or Enlightenment to a system. To
|
||||
``add GNOME'' means that system-level services like the backlight adjustment
|
||||
helpers and the power management utilities are added to the system, extending
|
||||
@code{polkit} and @code{dbus} appropriately, allowing GNOME to operate with
|
||||
elevated privileges on a limited number of special-purpose system interfaces.
|
||||
Additionally, adding a service made by @code{gnome-desktop-service-type} adds
|
||||
the GNOME metapackage to the system profile. Likewise, adding the Xfce
|
||||
service not only adds the @code{xfce} metapackage to the system profile, but
|
||||
it also gives the Thunar file manager the ability to open a ``root-mode'' file
|
||||
management window, if the user authenticates using the administrator's
|
||||
password via the standard polkit graphical interface. To ``add MATE'' means
|
||||
that @code{polkit} and @code{dbus} are extended appropriately, allowing MATE
|
||||
to operate with elevated privileges on a limited number of special-purpose
|
||||
system interfaces. Additionally, adding a service of type
|
||||
@code{mate-desktop-service-type} adds the MATE metapackage to the system
|
||||
profile. ``Adding Enlightenment'' means that @code{dbus} is extended
|
||||
appropriately, and several of Enlightenment's binaries are set as setuid,
|
||||
allowing Enlightenment's screen locker and other functionality to work as
|
||||
expected.
|
||||
|
||||
The desktop environments in Guix use the Xorg display server by
|
||||
default. If you'd like to use the newer display server protocol
|
||||
|
@ -17694,6 +17694,24 @@ The MATE package to use.
|
|||
@end table
|
||||
@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
|
||||
Return a service that adds the @code{enlightenment} package to the system
|
||||
profile, and extends dbus with actions from @code{efl}.
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2019 David Wilson <david@daviwil.com>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -53,6 +54,7 @@
|
|||
#:use-module (gnu packages suckless)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages lxqt)
|
||||
#:use-module (gnu packages mate)
|
||||
#:use-module (gnu packages nfs)
|
||||
#:use-module (gnu packages enlightenment)
|
||||
|
@ -127,6 +129,11 @@
|
|||
mate-desktop-service
|
||||
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-service
|
||||
|
@ -1009,6 +1016,36 @@ system as root from within a user session, after the user has authenticated
|
|||
with the administrator's password."
|
||||
(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
|
||||
|
|
Reference in New Issue