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
|
@ -5260,7 +5260,7 @@ Usually the X server is started by a login manager.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {Monadic Procedure} xorg-configuration-file @
|
@deffn {Monadic Procedure} xorg-configuration-file @
|
||||||
[#:drivers '()] [#:resolutions '()]
|
[#:drivers '()] [#:resolutions '()] [#:extra-config '()]
|
||||||
Return a configuration file for the Xorg server containing search paths for
|
Return a configuration file for the Xorg server containing search paths for
|
||||||
all the common drivers.
|
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
|
Likewise, when @var{resolutions} is the empty list, Xorg chooses an
|
||||||
appropriate screen resolution; otherwise, it must be a list of
|
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.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node Desktop Services
|
@node Desktop Services
|
||||||
|
|
|
@ -49,7 +49,8 @@
|
||||||
;;;
|
;;;
|
||||||
;;; Code:
|
;;; 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
|
"Return a configuration file for the Xorg server containing search paths for
|
||||||
all the common drivers.
|
all the common drivers.
|
||||||
|
|
||||||
|
@ -59,7 +60,11 @@ this order---e.g., @code{(\"modesetting\" \"vesa\")}.
|
||||||
|
|
||||||
Likewise, when @var{resolutions} is the empty list, Xorg chooses an
|
Likewise, when @var{resolutions} is the empty list, Xorg chooses an
|
||||||
appropriate screen resolution; otherwise, it must be a list of
|
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)
|
(define (device-section driver)
|
||||||
(string-append "
|
(string-append "
|
||||||
Section \"Device\"
|
Section \"Device\"
|
||||||
|
@ -82,7 +87,7 @@ Section \"Screen\"
|
||||||
EndSubSection
|
EndSubSection
|
||||||
EndSection"))
|
EndSection"))
|
||||||
|
|
||||||
(text-file* "xserver.conf" "
|
(apply text-file* "xserver.conf" "
|
||||||
Section \"Files\"
|
Section \"Files\"
|
||||||
FontPath \"" font-adobe75dpi "/share/fonts/X11/75dpi\"
|
FontPath \"" font-adobe75dpi "/share/fonts/X11/75dpi\"
|
||||||
ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\"
|
ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\"
|
||||||
|
@ -107,10 +112,13 @@ Section \"ServerFlags\"
|
||||||
Option \"AllowMouseOpenFail\" \"on\"
|
Option \"AllowMouseOpenFail\" \"on\"
|
||||||
EndSection
|
EndSection
|
||||||
"
|
"
|
||||||
(string-join (map device-section drivers) "\n")
|
(string-join (map device-section drivers) "\n") "\n"
|
||||||
(string-join (map (cut screen-section <> resolutions)
|
(string-join (map (cut screen-section <> resolutions)
|
||||||
drivers)
|
drivers)
|
||||||
"\n")))
|
"\n")
|
||||||
|
|
||||||
|
"\n"
|
||||||
|
extra-config))
|
||||||
|
|
||||||
(define* (xorg-start-command #:key
|
(define* (xorg-start-command #:key
|
||||||
(guile (canonical-package guile-2.0))
|
(guile (canonical-package guile-2.0))
|
||||||
|
|
Loading…
Reference in New Issue