mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
services: xorg: Deprecate 'screen-locker-service' procedure.
* doc/guix.texi (X Window): Replace 'screen-locker-service' with 'screen-locker-service-type'. Document <screen-locker-configuration>. * gnu/services/desktop.scm (desktop-services-for-system): Use screen-locker-service-type. * gnu/services/xorg.scm: Export accessors for <screen-locker-configuration>. (<screen-locker>): Rename to ... (<screen-locker-configuration>): ... this. (<screen-locker-configuration>)[empty?]: Rename to ... (<screen-locker-configuration>)[allow-empty-password?]: ... this. (screen-locker-pam-services): Update record name. (screen-locker-setuid-programs): Update accessor name. (screen-locker-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
1a6f230dd3
commit
5627c73a9e
3 changed files with 62 additions and 25 deletions
|
@ -22212,18 +22212,38 @@ Usually the X server is started by a login manager.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
@deffn {Scheme Procedure} screen-locker-service @var{package} [@var{program}]
|
@defvar screen-locker-service-type
|
||||||
Add @var{package}, a package for a screen locker or screen saver whose
|
Type for a service that adds a package for a screen locker or screen
|
||||||
command is @var{program}, to the set of setuid programs and add a PAM entry
|
saver to the set of setuid programs and add a PAM entry for it. The
|
||||||
for it. For example:
|
value for this service is a @code{<screen-locker-configuration>} object.
|
||||||
|
|
||||||
|
For example, to make XlockMore usable:
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
(screen-locker-service xlockmore "xlock")
|
(service screen-locker-service-type
|
||||||
|
(screen-locker-configuration
|
||||||
|
"xlock" (file-append xlockmore "/bin/xlock") #f))
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
makes the good ol' XlockMore usable.
|
makes the good ol' XlockMore usable.
|
||||||
@end deffn
|
@end defvar
|
||||||
|
|
||||||
|
@deftp {Data Type} screen-locker-configuration
|
||||||
|
Data type representing the configuration of
|
||||||
|
@code{screen-locker-service-type}.
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item @code{name} (type: string)
|
||||||
|
Name of the screen locker.
|
||||||
|
|
||||||
|
@item @code{program} (type: gexp)
|
||||||
|
Path to the executable for the screen locker as a G-Expression.
|
||||||
|
|
||||||
|
@item @code{allow-empty-password?} (type: boolean)
|
||||||
|
Whether to allow empty passwords.
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@end deftp
|
||||||
|
|
||||||
@node Printing Services
|
@node Printing Services
|
||||||
@subsection Printing Services
|
@subsection Printing Services
|
||||||
|
|
|
@ -1832,8 +1832,12 @@ (define* (desktop-services-for-system #:optional
|
||||||
(service sddm-service-type))
|
(service sddm-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)
|
(service screen-locker-service-type
|
||||||
(screen-locker-service xlockmore "xlock")
|
(screen-locker-configuration
|
||||||
|
"slock" (file-append slock "/bin/slock") #f))
|
||||||
|
(service screen-locker-service-type
|
||||||
|
(screen-locker-configuration
|
||||||
|
"xlock" (file-append xlockmore "/bin/xlock") #f))
|
||||||
|
|
||||||
;; Add udev rules for MTP devices so that non-root users can access
|
;; Add udev rules for MTP devices so that non-root users can access
|
||||||
;; them.
|
;; them.
|
||||||
|
|
|
@ -107,10 +107,13 @@ (define-module (gnu services xorg)
|
||||||
|
|
||||||
slim-service-type
|
slim-service-type
|
||||||
|
|
||||||
screen-locker
|
screen-locker-configuration
|
||||||
screen-locker?
|
screen-locker-configuration?
|
||||||
|
screen-locker-configuration-name
|
||||||
|
screen-locker-configuration-program
|
||||||
|
screen-locker-configuration-allow-empty-password?
|
||||||
screen-locker-service-type
|
screen-locker-service-type
|
||||||
screen-locker-service
|
screen-locker-service ; deprecated
|
||||||
|
|
||||||
localed-configuration
|
localed-configuration
|
||||||
localed-configuration?
|
localed-configuration?
|
||||||
|
@ -683,21 +686,30 @@ (define slim-service-type
|
||||||
;;; Screen lockers & co.
|
;;; Screen lockers & co.
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(define-record-type <screen-locker>
|
(define-record-type <screen-locker-configuration>
|
||||||
(screen-locker name program empty?)
|
(screen-locker-configuration name program allow-empty-password?)
|
||||||
|
screen-locker-configuration?
|
||||||
|
(name screen-locker-configuration-name) ;string
|
||||||
|
(program screen-locker-configuration-program) ;gexp
|
||||||
|
(allow-empty-password?
|
||||||
|
screen-locker-configuration-allow-empty-password?)) ;Boolean
|
||||||
|
|
||||||
|
(define-deprecated/public-alias
|
||||||
|
screen-locker
|
||||||
|
screen-locker-configuration)
|
||||||
|
|
||||||
|
(define-deprecated/public-alias
|
||||||
screen-locker?
|
screen-locker?
|
||||||
(name screen-locker-name) ;string
|
screen-locker-configuration?)
|
||||||
(program screen-locker-program) ;gexp
|
|
||||||
(empty? screen-locker-allows-empty-passwords?)) ;Boolean
|
|
||||||
|
|
||||||
(define screen-locker-pam-services
|
(define screen-locker-pam-services
|
||||||
(match-lambda
|
(match-lambda
|
||||||
(($ <screen-locker> name _ empty?)
|
(($ <screen-locker-configuration> name _ empty?)
|
||||||
(list (unix-pam-service name
|
(list (unix-pam-service name
|
||||||
#:allow-empty-passwords? empty?)))))
|
#:allow-empty-passwords? empty?)))))
|
||||||
|
|
||||||
(define screen-locker-setuid-programs
|
(define screen-locker-setuid-programs
|
||||||
(compose list file-like->setuid-program screen-locker-program))
|
(compose list file-like->setuid-program screen-locker-configuration-program))
|
||||||
|
|
||||||
(define screen-locker-service-type
|
(define screen-locker-service-type
|
||||||
(service-type (name 'screen-locker)
|
(service-type (name 'screen-locker)
|
||||||
|
@ -711,10 +723,11 @@ (define screen-locker-service-type
|
||||||
the graphical server by making it setuid-root, so it can authenticate users,
|
the graphical server by making it setuid-root, so it can authenticate users,
|
||||||
and by creating a PAM service for it.")))
|
and by creating a PAM service for it.")))
|
||||||
|
|
||||||
(define* (screen-locker-service package
|
(define-deprecated (screen-locker-service package
|
||||||
#:optional
|
#:optional
|
||||||
(program (package-name package))
|
(program (package-name package))
|
||||||
#:key allow-empty-passwords?)
|
#:key allow-empty-passwords?)
|
||||||
|
screen-locker-service-type
|
||||||
"Add @var{package}, a package for a screen locker or screen saver whose
|
"Add @var{package}, a package for a screen locker or screen saver whose
|
||||||
command is @var{program}, to the set of setuid programs and add a PAM entry
|
command is @var{program}, to the set of setuid programs and add a PAM entry
|
||||||
for it. For example:
|
for it. For example:
|
||||||
|
@ -725,7 +738,7 @@ (define* (screen-locker-service package
|
||||||
|
|
||||||
makes the good ol' XlockMore usable."
|
makes the good ol' XlockMore usable."
|
||||||
(service screen-locker-service-type
|
(service screen-locker-service-type
|
||||||
(screen-locker program
|
(screen-locker-configuration program
|
||||||
(file-append package "/bin/" program)
|
(file-append package "/bin/" program)
|
||||||
allow-empty-passwords?)))
|
allow-empty-passwords?)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue