summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-10-21 15:47:55 +0200
committerLudovic Courtès <ludo@gnu.org>2019-10-21 18:16:16 +0200
commit8cf3e167c15a0dba3166cbeee46d41f26cbf75f1 (patch)
treed081441fed9f8fbe003c49426a824456b924ea7a
parent5ac5f2c1298cac811a544e2db193ba5d69d9fce6 (diff)
downloadguix-8cf3e167c15a0dba3166cbeee46d41f26cbf75f1.tar.gz
services: sddm: Deprecate 'sddm-service' procedure.
* gnu/services/sddm.scm (sddm-service): Mark as deprecated.
* doc/guix.texi (X Window): Document 'sddm-service-type' and
'sddm-configuration'.
-rw-r--r--doc/guix.texi45
-rw-r--r--gnu/services/sddm.scm4
2 files changed, 39 insertions, 10 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 6eccbb971f..15b6ff04c3 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14193,16 +14193,43 @@ Relogin after logout.
 
 @cindex login manager
 @cindex X11 login
-@deffn {Scheme Procedure} sddm-service config
-Return a service that spawns the SDDM graphical login manager for config of
-type @code{<sddm-configuration>}.
+@defvr {Scheme Variable} sddm-service-type
+This is the type of the service to run the
+@uref{https://github.com/sddm/sddm,SSDM display manager}.  Its value
+must be a @code{sddm-configuration} record (see below).
 
-@example
-  (sddm-service (sddm-configuration
-                 (auto-login-user "Alice")
-                 (auto-login-session "xfce.desktop")))
-@end example
-@end deffn
+Here's an example use:
+
+@lisp
+(service sddm-service-type
+         (sddm-configuration
+           (auto-login-user "alice")
+           (auto-login-session "xfce.desktop")))
+@end lisp
+@end defvr
+
+@deftp {Data Type} sddm-configuration
+This data type represents the configuration of the SDDM login manager.
+The available fields are:
+
+@table @asis
+@item @code{sddm} (default: @code{sddm})
+The SDDM package to use.
+
+@item @code{display-server} (default: @code{"x11"})
+This must be either @code{"x11"} or @code{"wayland"}.
+
+@c FIXME: Add more fields.
+
+@item @code{auto-login-user} (default: @code{""})
+If non-empty, this is the user account under which to log in
+automatically.
+
+@item @code{auto-login-session} (default: @code{""})
+If non-empty, this is the @file{.desktop} file name to use as the
+auto-login session.
+@end table
+@end deftp
 
 @cindex Xorg, configuration
 @deftp {Data Type} xorg-configuration
diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm
index f33f1f93b9..c89c0c68bc 100644
--- a/gnu/services/sddm.scm
+++ b/gnu/services/sddm.scm
@@ -30,6 +30,7 @@
   #:use-module (gnu system shadow)
   #:use-module (guix gexp)
   #:use-module (guix records)
+  #:use-module (guix deprecation)
   #:export (sddm-configuration
             sddm-configuration?
             sddm-service-type
@@ -319,7 +320,8 @@ Relogin="              (if (sddm-configuration-relogin? config)
                                            sddm-profile-service)))
                 (default-value (sddm-configuration))))
 
-(define* (sddm-service #:optional (config (sddm-configuration)))
+(define-deprecated (sddm-service #:optional (config (sddm-configuration)))
+  sddm-service-type
   "Run the @uref{https://github.com/sddm/sddm,SSDM display manager}
 with the given @var{config}, a @code{<sddm-configuration>} object."
   (service sddm-service-type config))