[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
09/10: services: xorg: Document 'slim-configuration' and deprecate 'slim
From: |
Ludovic Courtès |
Subject: |
09/10: services: xorg: Document 'slim-configuration' and deprecate 'slim-service'. |
Date: |
Tue, 28 Nov 2017 05:25:49 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit b37f86d7a31c654e894faf47c233503231b2c6eb
Author: Ludovic Courtès <address@hidden>
Date: Tue Nov 28 11:10:08 2017 +0100
services: xorg: Document 'slim-configuration' and deprecate 'slim-service'.
* gnu/services/xorg.scm (<slim-configuration>): Provide default values
for all fields.
(slim-service-type)[default-value]: New field.
* doc/guix.texi (X Window): Remove 'slim-service' documentation.
Document 'slim-service-type' and 'slim-configuration'.
* gnu/services/desktop.scm (%desktop-services): Use 'slim-service-type'.
---
doc/guix.texi | 96 ++++++++++++++++++++++++++++++------------------
gnu/services/desktop.scm | 2 +-
gnu/services/xorg.scm | 39 +++++++++++++++-----
3 files changed, 91 insertions(+), 46 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 4a32cdf..c3b97ce 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11001,6 +11001,65 @@ Xorg---is provided by the @code{(gnu services xorg)}
module. Note that
there is no @code{xorg-service} procedure. Instead, the X server is
started by the @dfn{login manager}, currently SLiM.
address@hidden {Scheme Variable} slim-service-type
+This is the type for the SLiM graphical login manager for X11.
+
address@hidden session types (X11)
address@hidden X11 session types
+SLiM looks for @dfn{session types} described by the @file{.desktop} files in
address@hidden/run/current-system/profile/share/xsessions} and allows users to
+choose a session from the log-in screen using @kbd{F1}. Packages such
+as @code{xfce}, @code{sawfish}, and @code{ratpoison} provide
address@hidden files; adding them to the system-wide set of packages
+automatically makes them available at the log-in screen.
+
+In addition, @file{~/.xsession} files are honored. When available,
address@hidden/.xsession} must be an executable that starts a window manager
+and/or other X clients.
address@hidden defvr
+
address@hidden {Data Type} slim-configuration
+Data type representing the configuration of @code{slim-service-type}.
+
address@hidden @asis
address@hidden @code{allow-empty-passwords?} (default: @code{#t})
+Whether to allow logins with empty passwords.
+
address@hidden @code{auto-login?} (default: @code{#f})
address@hidden @code{default-user} (default: @code{""})
+When @code{auto-login?} is false, SLiM presents a log-in screen.
+
+When @code{auto-login?} is true, SLiM logs in directly as
address@hidden
+
address@hidden @code{theme} (default: @code{%default-slim-theme})
address@hidden @code{theme-name} (default: @code{%default-slim-theme-name})
+The graphical theme to use and its name.
+
address@hidden @code{auto-login-session} (default: @code{windowmaker})
+The default session to use when none is specified.
+
address@hidden @code{startx} (default: @code{(xorg-start-command)})
+The command used to start the X11 graphical server.
+
address@hidden @code{xauth} (default: @code{xauth})
+The XAuth package to use.
+
address@hidden @code{shepherd} (default: @code{shepherd})
+The Shepherd package used when invoking @command{halt} and
address@hidden
+
address@hidden @code{slim} (default: @code{slim})
+The SLiM package to use.
address@hidden table
address@hidden deftp
+
address@hidden {Scheme Variable} %default-theme
address@hidden {Scheme Variable} %default-theme-name
+The default SLiM theme and its name.
address@hidden defvr
+
+
@deftp {Data Type} sddm-configuration
This is the data type representing the sddm service configuration.
@@ -11094,6 +11153,7 @@ Relogin after logout.
@end deftp
@cindex login manager
address@hidden 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>}.
@@ -11105,42 +11165,6 @@ type @code{<sddm-configuration>}.
@end example
@end deffn
address@hidden {Scheme Procedure} slim-service [#:allow-empty-passwords? #f] @
- [#:auto-login? #f] [#:default-user ""] [#:startx] @
- [#:theme @var{%default-slim-theme}] @
- [#:theme-name @var{%default-slim-theme-name}]
-Return a service that spawns the SLiM graphical login manager, which in
-turn starts the X display server with @var{startx}, a command as returned by
address@hidden
-
address@hidden X session
-
-SLiM automatically looks for session types described by the @file{.desktop}
-files in @file{/run/current-system/profile/share/xsessions} and allows users
-to choose a session from the log-in screen using @kbd{F1}. Packages such as
address@hidden, @var{sawfish}, and @var{ratpoison} provide @file{.desktop}
files;
-adding them to the system-wide set of packages automatically makes them
-available at the log-in screen.
-
-In addition, @file{~/.xsession} files are honored. When available,
address@hidden/.xsession} must be an executable that starts a window manager
-and/or other X clients.
-
-When @var{allow-empty-passwords?} is true, allow logins with an empty
-password. When @var{auto-login?} is true, log in automatically as
address@hidden
-
-If @var{theme} is @code{#f}, use the default log-in theme; otherwise
address@hidden must be a gexp denoting the name of a directory containing the
-theme to use. In that case, @var{theme-name} specifies the name of the
-theme.
address@hidden deffn
-
address@hidden {Scheme Variable} %default-theme
address@hidden {Scheme Variable} %default-theme-name
-The G-Expression denoting the default SLiM theme and its name.
address@hidden defvr
-
@deffn {Scheme Procedure} xorg-start-command [#:guile] @
[#:modules %default-xorg-modules] @
[#:fonts %default-xorg-fonts] @
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index ec33e1d..78530b3 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -854,7 +854,7 @@ with the administrator's password."
(define %desktop-services
;; List of services typically useful for a "desktop" use case.
- (cons* (slim-service)
+ (cons* (service slim-service-type)
;; Screen lockers are a pretty useful thing and these are small.
(screen-locker-service slock)
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index e7b9d9a..c1955e0 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -52,7 +52,20 @@
%default-slim-theme
%default-slim-theme-name
+
slim-configuration
+ slim-configuration?
+ slim-configuration-slim
+ slim-configuration-allow-empty-passwords?
+ slim-configuration-auto-login?
+ slim-configuration-default-user
+ slim-configuration-theme
+ slim-configuration-theme-name
+ slim-configuration-xauth
+ slim-configuration-shepherd
+ slim-configuration-auto-login-session
+ slim-configuration-startx
+
slim-service-type
slim-service
@@ -355,17 +368,24 @@ which should be passed to this script as the first
argument. If not, the
slim-configuration?
(slim slim-configuration-slim
(default slim))
- (allow-empty-passwords? slim-configuration-allow-empty-passwords?)
- (auto-login? slim-configuration-auto-login?)
- (default-user slim-configuration-default-user)
- (theme slim-configuration-theme)
- (theme-name slim-configuration-theme-name)
+ (allow-empty-passwords? slim-configuration-allow-empty-passwords?
+ (default #t))
+ (auto-login? slim-configuration-auto-login?
+ (default #f))
+ (default-user slim-configuration-default-user
+ (default ""))
+ (theme slim-configuration-theme
+ (default %default-slim-theme))
+ (theme-name slim-configuration-theme-name
+ (default %default-slim-theme-name))
(xauth slim-configuration-xauth
(default xauth))
(shepherd slim-configuration-shepherd
(default shepherd))
- (auto-login-session slim-configuration-auto-login-session)
- (startx slim-configuration-startx))
+ (auto-login-session slim-configuration-auto-login-session
+ (default (file-append windowmaker "/bin/wmaker")))
+ (startx slim-configuration-startx
+ (default (xorg-start-command))))
(define (slim-pam-service config)
"Return a PAM service for @command{slim}."
@@ -440,9 +460,10 @@ reboot_cmd " shepherd "/sbin/reboot\n"
;; Unconditionally add xterm to the system profile, to
;; avoid bad surprises.
(service-extension profile-service-type
- (const (list xterm)))))))
+ (const (list xterm)))))
+ (default-value (slim-configuration))))
-(define* (slim-service #:key (slim slim)
+(define* (slim-service #:key (slim slim) ;deprecated
(allow-empty-passwords? #t) auto-login?
(default-user "")
(theme %default-slim-theme)
- branch master updated (ff6dcc1 -> 65c0f43), Ludovic Courtès, 2017/11/28
- 02/10: ui: Avoid "pkg:out" syntax when reporting collisions., Ludovic Courtès, 2017/11/28
- 04/10: gnu: Add perl-file-desktopentry., Ludovic Courtès, 2017/11/28
- 06/10: gnu: xdg-utils: Add perl-file-mimeinfo as an input., Ludovic Courtès, 2017/11/28
- 01/10: gnu: node: Update to 8.9.1., Ludovic Courtès, 2017/11/28
- 10/10: services: xorg: Remove WindowMaker as a default fallback., Ludovic Courtès, 2017/11/28
- 07/10: services: xorg: Allow users to specify a list of modules., Ludovic Courtès, 2017/11/28
- 08/10: services: slim: Remove unused 'bash' configuration field., Ludovic Courtès, 2017/11/28
- 09/10: services: xorg: Document 'slim-configuration' and deprecate 'slim-service'.,
Ludovic Courtès <=
- 03/10: gnu: Add perl-file-basedir., Ludovic Courtès, 2017/11/28
- 05/10: gnu: Add perl-file-mimeinfo., Ludovic Courtès, 2017/11/28