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'.
This commit is contained in:
parent
94b9abd942
commit
b37f86d7a3
|
@ -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
|
there is no @code{xorg-service} procedure. Instead, the X server is
|
||||||
started by the @dfn{login manager}, currently SLiM.
|
started by the @dfn{login manager}, currently SLiM.
|
||||||
|
|
||||||
|
@defvr {Scheme Variable} slim-service-type
|
||||||
|
This is the type for the SLiM graphical login manager for X11.
|
||||||
|
|
||||||
|
@cindex session types (X11)
|
||||||
|
@cindex X11 session types
|
||||||
|
SLiM looks for @dfn{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 @code{xfce}, @code{sawfish}, and @code{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,
|
||||||
|
@file{~/.xsession} must be an executable that starts a window manager
|
||||||
|
and/or other X clients.
|
||||||
|
@end defvr
|
||||||
|
|
||||||
|
@deftp {Data Type} slim-configuration
|
||||||
|
Data type representing the configuration of @code{slim-service-type}.
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item @code{allow-empty-passwords?} (default: @code{#t})
|
||||||
|
Whether to allow logins with empty passwords.
|
||||||
|
|
||||||
|
@item @code{auto-login?} (default: @code{#f})
|
||||||
|
@itemx @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
|
||||||
|
@code{default-user}.
|
||||||
|
|
||||||
|
@item @code{theme} (default: @code{%default-slim-theme})
|
||||||
|
@itemx @code{theme-name} (default: @code{%default-slim-theme-name})
|
||||||
|
The graphical theme to use and its name.
|
||||||
|
|
||||||
|
@item @code{auto-login-session} (default: @code{windowmaker})
|
||||||
|
The default session to use when none is specified.
|
||||||
|
|
||||||
|
@item @code{startx} (default: @code{(xorg-start-command)})
|
||||||
|
The command used to start the X11 graphical server.
|
||||||
|
|
||||||
|
@item @code{xauth} (default: @code{xauth})
|
||||||
|
The XAuth package to use.
|
||||||
|
|
||||||
|
@item @code{shepherd} (default: @code{shepherd})
|
||||||
|
The Shepherd package used when invoking @command{halt} and
|
||||||
|
@command{reboot}.
|
||||||
|
|
||||||
|
@item @code{slim} (default: @code{slim})
|
||||||
|
The SLiM package to use.
|
||||||
|
@end table
|
||||||
|
@end deftp
|
||||||
|
|
||||||
|
@defvr {Scheme Variable} %default-theme
|
||||||
|
@defvrx {Scheme Variable} %default-theme-name
|
||||||
|
The default SLiM theme and its name.
|
||||||
|
@end defvr
|
||||||
|
|
||||||
|
|
||||||
@deftp {Data Type} sddm-configuration
|
@deftp {Data Type} sddm-configuration
|
||||||
This is the data type representing the sddm service configuration.
|
This is the data type representing the sddm service configuration.
|
||||||
|
|
||||||
|
@ -11094,6 +11153,7 @@ Relogin after logout.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@cindex login manager
|
@cindex login manager
|
||||||
|
@cindex X11 login
|
||||||
@deffn {Scheme Procedure} sddm-service config
|
@deffn {Scheme Procedure} sddm-service config
|
||||||
Return a service that spawns the SDDM graphical login manager for config of
|
Return a service that spawns the SDDM graphical login manager for config of
|
||||||
type @code{<sddm-configuration>}.
|
type @code{<sddm-configuration>}.
|
||||||
|
@ -11105,42 +11165,6 @@ type @code{<sddm-configuration>}.
|
||||||
@end example
|
@end example
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {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
|
|
||||||
@code{xorg-start-command}.
|
|
||||||
|
|
||||||
@cindex 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
|
|
||||||
@var{xfce}, @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,
|
|
||||||
@file{~/.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
|
|
||||||
@var{default-user}.
|
|
||||||
|
|
||||||
If @var{theme} is @code{#f}, use the default log-in theme; otherwise
|
|
||||||
@var{theme} 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.
|
|
||||||
@end deffn
|
|
||||||
|
|
||||||
@defvr {Scheme Variable} %default-theme
|
|
||||||
@defvrx {Scheme Variable} %default-theme-name
|
|
||||||
The G-Expression denoting the default SLiM theme and its name.
|
|
||||||
@end defvr
|
|
||||||
|
|
||||||
@deffn {Scheme Procedure} xorg-start-command [#:guile] @
|
@deffn {Scheme Procedure} xorg-start-command [#:guile] @
|
||||||
[#:modules %default-xorg-modules] @
|
[#:modules %default-xorg-modules] @
|
||||||
[#:fonts %default-xorg-fonts] @
|
[#:fonts %default-xorg-fonts] @
|
||||||
|
|
|
@ -854,7 +854,7 @@ with the administrator's password."
|
||||||
|
|
||||||
(define %desktop-services
|
(define %desktop-services
|
||||||
;; List of services typically useful for a "desktop" use case.
|
;; 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 lockers are a pretty useful thing and these are small.
|
||||||
(screen-locker-service slock)
|
(screen-locker-service slock)
|
||||||
|
|
|
@ -52,7 +52,20 @@
|
||||||
|
|
||||||
%default-slim-theme
|
%default-slim-theme
|
||||||
%default-slim-theme-name
|
%default-slim-theme-name
|
||||||
|
|
||||||
slim-configuration
|
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-type
|
||||||
slim-service
|
slim-service
|
||||||
|
|
||||||
|
@ -355,17 +368,24 @@ which should be passed to this script as the first argument. If not, the
|
||||||
slim-configuration?
|
slim-configuration?
|
||||||
(slim slim-configuration-slim
|
(slim slim-configuration-slim
|
||||||
(default slim))
|
(default slim))
|
||||||
(allow-empty-passwords? slim-configuration-allow-empty-passwords?)
|
(allow-empty-passwords? slim-configuration-allow-empty-passwords?
|
||||||
(auto-login? slim-configuration-auto-login?)
|
(default #t))
|
||||||
(default-user slim-configuration-default-user)
|
(auto-login? slim-configuration-auto-login?
|
||||||
(theme slim-configuration-theme)
|
(default #f))
|
||||||
(theme-name slim-configuration-theme-name)
|
(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
|
(xauth slim-configuration-xauth
|
||||||
(default xauth))
|
(default xauth))
|
||||||
(shepherd slim-configuration-shepherd
|
(shepherd slim-configuration-shepherd
|
||||||
(default shepherd))
|
(default shepherd))
|
||||||
(auto-login-session slim-configuration-auto-login-session)
|
(auto-login-session slim-configuration-auto-login-session
|
||||||
(startx slim-configuration-startx))
|
(default (file-append windowmaker "/bin/wmaker")))
|
||||||
|
(startx slim-configuration-startx
|
||||||
|
(default (xorg-start-command))))
|
||||||
|
|
||||||
(define (slim-pam-service config)
|
(define (slim-pam-service config)
|
||||||
"Return a PAM service for @command{slim}."
|
"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
|
;; Unconditionally add xterm to the system profile, to
|
||||||
;; avoid bad surprises.
|
;; avoid bad surprises.
|
||||||
(service-extension profile-service-type
|
(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?
|
(allow-empty-passwords? #t) auto-login?
|
||||||
(default-user "")
|
(default-user "")
|
||||||
(theme %default-slim-theme)
|
(theme %default-slim-theme)
|
||||||
|
|
Loading…
Reference in New Issue