mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: services: Add MATE desktop service.
* gnu/services/desktop.scm (<mate-desktop-configuration>, mate-desktop-service-type): New variable. (mate-desktop-service): New public variable. * doc/guix.texi (Desktop Services): Document the service. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
This commit is contained in:
parent
6ce4fc69f5
commit
431703ffd0
2 changed files with 52 additions and 7 deletions
|
@ -26,7 +26,7 @@ Copyright @copyright{} 2016 Ben Woodcroft@*
|
|||
Copyright @copyright{} 2016, 2017 Chris Marusich@*
|
||||
Copyright @copyright{} 2016, 2017 Efraim Flashner@*
|
||||
Copyright @copyright{} 2016 John Darrington@*
|
||||
Copyright @copyright{} 2016 ng0@*
|
||||
Copyright @copyright{} 2016, 2017 ng0@*
|
||||
Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
|
||||
Copyright @copyright{} 2016 Julien Lepiller@*
|
||||
Copyright @copyright{} 2016 Alex ter Weele@*
|
||||
|
@ -12106,7 +12106,7 @@ The @code{(gnu services desktop)} module provides services that are
|
|||
usually useful in the context of a ``desktop'' setup---that is, on a
|
||||
machine running a graphical display server, possibly with graphical user
|
||||
interfaces, etc. It also defines services that provide specific desktop
|
||||
environments like GNOME and XFCE.
|
||||
environments like GNOME, XFCE or MATE.
|
||||
|
||||
To simplify things, the module defines a variable containing the set of
|
||||
services that users typically expect on a machine with a graphical
|
||||
|
@ -12131,9 +12131,10 @@ The @var{%desktop-services} variable can be used as the @code{services}
|
|||
field of an @code{operating-system} declaration (@pxref{operating-system
|
||||
Reference, @code{services}}).
|
||||
|
||||
Additionally, the @code{gnome-desktop-service} and
|
||||
@code{xfce-desktop-service} procedures can add GNOME and/or XFCE to a
|
||||
system. To ``add GNOME'' means that system-level services like the
|
||||
Additionally, the @code{gnome-desktop-service},
|
||||
@code{xfce-desktop-service} and @code{mate-desktop-service}
|
||||
procedures can add GNOME, XFCE and/or MATE 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
|
||||
|
@ -12144,6 +12145,11 @@ 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 made by @code{mate-desktop-service} adds the MATE
|
||||
metapackage to the system profile.
|
||||
|
||||
@deffn {Scheme Procedure} gnome-desktop-service
|
||||
Return a service that adds the @code{gnome} package to the system
|
||||
|
@ -12158,9 +12164,15 @@ file system as root from within a user session, after the user has
|
|||
authenticated with the administrator's password.
|
||||
@end deffn
|
||||
|
||||
Because the GNOME and XFCE desktop services pull in so many packages,
|
||||
@deffn {Scheme Procedure} mate-desktop-service
|
||||
Return a service that adds the @code{mate} package to the system
|
||||
profile, and extends polkit with the actions from
|
||||
@code{mate-settings-daemon}.
|
||||
@end deffn
|
||||
|
||||
Because the GNOME, XFCE and MATE desktop services pull in so many packages,
|
||||
the default @code{%desktop-services} variable doesn't include either of
|
||||
them by default. To add GNOME or XFCE, just @code{cons} them onto
|
||||
them by default. To add GNOME, XFCE orMATE, just @code{cons} them onto
|
||||
@code{%desktop-services} in the @code{services} field of your
|
||||
@code{operating-system}:
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -42,6 +43,7 @@ (define-module (gnu services desktop)
|
|||
#:use-module (gnu packages suckless)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages mate)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix store)
|
||||
|
@ -82,6 +84,11 @@ (define-module (gnu services desktop)
|
|||
gnome-desktop-service
|
||||
gnome-desktop-service-type
|
||||
|
||||
mate-desktop-configuration
|
||||
mate-desktop-configuration?
|
||||
mate-desktop-service
|
||||
mate-desktop-service-type
|
||||
|
||||
xfce-desktop-configuration
|
||||
xfce-desktop-configuration?
|
||||
xfce-desktop-service
|
||||
|
@ -817,6 +824,32 @@ (define* (gnome-desktop-service #:key (config (gnome-desktop-configuration)))
|
|||
and extends polkit with the actions from @code{gnome-settings-daemon}."
|
||||
(service gnome-desktop-service-type config))
|
||||
|
||||
;; MATE Desktop service.
|
||||
;; TODO: Add mate-screensaver.
|
||||
|
||||
(define-record-type* <mate-desktop-configuration> mate-desktop-configuration
|
||||
make-mate-desktop-configuration
|
||||
mate-desktop-configuration
|
||||
(mate-package mate-package (default mate)))
|
||||
|
||||
(define mate-desktop-service-type
|
||||
(service-type
|
||||
(name 'mate-desktop)
|
||||
(extensions
|
||||
(list (service-extension polkit-service-type
|
||||
(compose list
|
||||
(package-direct-input-selector
|
||||
"mate-settings-daemon")
|
||||
mate-package))
|
||||
(service-extension profile-service-type
|
||||
(compose list
|
||||
mate-package))))))
|
||||
|
||||
(define* (mate-desktop-service #:key (config (mate-desktop-configuration)))
|
||||
"Return a service that adds the @code{mate} package to the system profile,
|
||||
and extends polkit with the actions from @code{mate-settings-daemon}."
|
||||
(service mate-desktop-service-type config))
|
||||
|
||||
|
||||
;;;
|
||||
;;; XFCE desktop service.
|
||||
|
|
Loading…
Reference in a new issue