aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorng0 <ng0@infotropique.org>2017-12-30 22:52:54 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2017-12-30 22:55:26 +0100
commit431703ffd022e77c50e09ceedfa110a7eb7e4ee5 (patch)
tree70e5182b827b126ab89396bf32d95e71c63cb17e /gnu
parent6ce4fc69f5c7a7b60934908e27e9de5c35b66228 (diff)
downloadguix-431703ffd022e77c50e09ceedfa110a7eb7e4ee5.tar
guix-431703ffd022e77c50e09ceedfa110a7eb7e4ee5.tar.gz
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>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/services/desktop.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 78530b3454..64b999caba 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -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 @@
#: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 @@
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 @@ rules."
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.