summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-03-27 10:14:11 +0100
committerLudovic Courtès <ludo@gnu.org>2019-03-27 11:54:06 +0100
commitee05cc7fe353c1c9b45062343746ac215a29fed5 (patch)
treef2168c8840b640b95a6cab4192071916a4be5eb2
parent1c155ec76ba36b3df9879cecc3b120e38cb745e3 (diff)
downloadguix-ee05cc7fe353c1c9b45062343746ac215a29fed5.tar.gz
services: Deprecate 'gnome-desktop-service'.
* gnu/services/desktop.scm (gnome-desktop-service-type)[default-value]:
New field.
(gnome-desktop-service): Deprecate.
* gnu/installer/services.scm (%desktop-environments): Use the (service …)
form for GNOME.
* gnu/system/examples/desktop.tmpl: Likewise.
* doc/guix.texi (Desktop Services): Adjust accordingly.
-rw-r--r--doc/guix.texi28
-rw-r--r--gnu/installer/services.scm2
-rw-r--r--gnu/services/desktop.scm5
-rw-r--r--gnu/system/examples/desktop.tmpl2
4 files changed, 26 insertions, 11 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 7d80c00530..d99b7fd933 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14420,7 +14420,7 @@ 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},
+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
@@ -14428,7 +14428,7 @@ 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} adds the GNOME
+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''
@@ -14452,11 +14452,23 @@ also try starting GNOME on Wayland manually from a TTY with the
 command ``XDG_SESSION_TYPE=wayland exec dbus-run-session
 gnome-session``.  Currently only GNOME has support for Wayland.
 
-@deffn {Scheme Procedure} gnome-desktop-service
-Return a service that adds the @code{gnome} package to the system
-profile, and extends polkit with the actions from
-@code{gnome-settings-daemon}.
-@end deffn
+@defvr {Scheme Variable} gnome-desktop-service-type
+This is the type of the service that adds the @uref{https://www.gnome.org,
+GNOME} desktop environment.  Its value is a @code{gnome-desktop-configuration}
+object (see below.)
+
+This service adds the @code{gnome} package to the system profile, and extends
+polkit with the actions from @code{gnome-settings-daemon}.
+@end defvr
+
+@deftp {Data Type} gnome-desktop-configuration
+Configuration record for the GNOME desktop environment.
+
+@table @asis
+@item @code{gnome} (default @code{gnome})
+The GNOME package to use.
+@end table
+@end deftp
 
 @deffn {Scheme Procedure} xfce-desktop-service
 Return a service that adds the @code{xfce} package to the system profile,
@@ -14508,7 +14520,7 @@ them by default.  To add GNOME, XFCE or MATE, just @code{cons} them onto
 (operating-system
   ...
   ;; cons* adds items to the list given as its last argument.
-  (services (cons* (gnome-desktop-service)
+  (services (cons* (service gnome-desktop-service-type)
                    (xfce-desktop-service)
                    %desktop-services))
   ...)
diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm
index f263ecc84f..e719da083d 100644
--- a/gnu/installer/services.scm
+++ b/gnu/installer/services.scm
@@ -38,7 +38,7 @@
   (list
    (desktop-environment
     (name "GNOME")
-    (snippet '(gnome-desktop-service)))
+    (snippet '(service gnome-desktop-service-type)))
    (desktop-environment
     (name "Xfce")
     (snippet '(xfce-desktop-service)))
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index b912c208cc..9c9472e1a2 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -884,9 +884,12 @@ rules."
           (service-extension profile-service-type
                              (compose list
                                       gnome-package))))
+   (default-value (gnome-desktop-configuration))
    (description "Run the GNOME desktop environment.")))
 
-(define* (gnome-desktop-service #:key (config (gnome-desktop-configuration)))
+(define-deprecated (gnome-desktop-service #:key (config
+                                                 (gnome-desktop-configuration)))
+  gnome-desktop-service-type
   "Return a service that adds the @code{gnome} package to the system profile,
 and extends polkit with the actions from @code{gnome-settings-daemon}."
   (service gnome-desktop-service-type config))
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index bc5cbd6e6b..fe32bc58b5 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -57,7 +57,7 @@
   ;; screen with F1.  Use the "desktop" services, which
   ;; include the X11 log-in service, networking with
   ;; NetworkManager, and more.
-  (services (append (list (gnome-desktop-service)
+  (services (append (list (service gnome-desktop-service-type)
                           (xfce-desktop-service))
                     %desktop-services))