mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
services: xorg: Allow extra config text to be added verbatim.
* gnu/services/xorg.scm (xorg-configuration-file): Add #:extra-config and honor it. * doc/guix.texi (X Window): Adjust accordingly.
This commit is contained in:
parent
d1cdd7ba7a
commit
12422c9d38
2 changed files with 18 additions and 6 deletions
|
@ -5260,7 +5260,7 @@ Usually the X server is started by a login manager.
|
|||
@end deffn
|
||||
|
||||
@deffn {Monadic Procedure} xorg-configuration-file @
|
||||
[#:drivers '()] [#:resolutions '()]
|
||||
[#:drivers '()] [#:resolutions '()] [#:extra-config '()]
|
||||
Return a configuration file for the Xorg server containing search paths for
|
||||
all the common drivers.
|
||||
|
||||
|
@ -5271,6 +5271,10 @@ this order---e.g., @code{(\"modesetting\" \"vesa\")}.
|
|||
Likewise, when @var{resolutions} is the empty list, Xorg chooses an
|
||||
appropriate screen resolution; otherwise, it must be a list of
|
||||
resolutions---e.g., @code{((1024 768) (640 480))}.
|
||||
|
||||
Last, @var{extra-config} is a list of strings or objects appended to the
|
||||
@code{text-file*} argument list. It is used to pass extra text to be added
|
||||
verbatim to the configuration file.
|
||||
@end deffn
|
||||
|
||||
@node Desktop Services
|
||||
|
|
|
@ -49,7 +49,8 @@ (define-module (gnu services xorg)
|
|||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define* (xorg-configuration-file #:key (drivers '()) (resolutions '()))
|
||||
(define* (xorg-configuration-file #:key (drivers '()) (resolutions '())
|
||||
(extra-config '()))
|
||||
"Return a configuration file for the Xorg server containing search paths for
|
||||
all the common drivers.
|
||||
|
||||
|
@ -59,7 +60,11 @@ (define* (xorg-configuration-file #:key (drivers '()) (resolutions '()))
|
|||
|
||||
Likewise, when @var{resolutions} is the empty list, Xorg chooses an
|
||||
appropriate screen resolution; otherwise, it must be a list of
|
||||
resolutions---e.g., @code{((1024 768) (640 480))}."
|
||||
resolutions---e.g., @code{((1024 768) (640 480))}.
|
||||
|
||||
Last, @var{extra-config} is a list of strings or objects appended to the
|
||||
@code{text-file*} argument list. It is used to pass extra text to be added
|
||||
verbatim to the configuration file."
|
||||
(define (device-section driver)
|
||||
(string-append "
|
||||
Section \"Device\"
|
||||
|
@ -82,7 +87,7 @@ (define (screen-section driver resolutions)
|
|||
EndSubSection
|
||||
EndSection"))
|
||||
|
||||
(text-file* "xserver.conf" "
|
||||
(apply text-file* "xserver.conf" "
|
||||
Section \"Files\"
|
||||
FontPath \"" font-adobe75dpi "/share/fonts/X11/75dpi\"
|
||||
ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\"
|
||||
|
@ -107,10 +112,13 @@ (define (screen-section driver resolutions)
|
|||
Option \"AllowMouseOpenFail\" \"on\"
|
||||
EndSection
|
||||
"
|
||||
(string-join (map device-section drivers) "\n")
|
||||
(string-join (map device-section drivers) "\n") "\n"
|
||||
(string-join (map (cut screen-section <> resolutions)
|
||||
drivers)
|
||||
"\n")))
|
||||
"\n")
|
||||
|
||||
"\n"
|
||||
extra-config))
|
||||
|
||||
(define* (xorg-start-command #:key
|
||||
(guile (canonical-package guile-2.0))
|
||||
|
|
Loading…
Reference in a new issue