Roman Scherer writes: > Hello Guix, > > I would like to replace the Mesa package in my Xorg configuration. I > tried to do this with the following snippet: > > ``` > (modify-services %desktop-services > (slim-service-type config => > (slim-configuration > (inherit config) > (xorg-configuration > (xorg-configuration > (server (replace-mesa xorg-server))))))) > ``` > > But this unfortunately does not work, because the xorg-wrapper uses > static paths for the mesa, xkbcomp and xkeyboard-config packages in the > derivation. > > The xserver starts now with the replaced mesa, but some paths still > point to the hard coded packages in Guix itself (and not the > replacement), which cause some things to not work. > > This patch changes this to lookup the paths from the inputs of the > server field of the xorg-configuration instead. That way the correct > paths are setup in the xor-wrapper script. If those inputs are not found > for some reason it falls back to the current behavior, using the > packages from Guix. > > Could you please review this? > > Thanks, Roman. Sorry for a long deley.. > > From d035c99ed4703da0e3e9b62299c390560c074a17 Mon Sep 17 00:00:00 2001 > From: r0man > Date: Sat, 11 Feb 2023 19:36:16 +0100 > Subject: [PATCH] services: xorg-wrapper: Support xorg server input > transformations. I think it's better add some explaination to commit message like: The xorg-wrapper uses [...] This patch [...] Should be good. > > * gnu/services/xorg.scm (xorg-wrapper): Support xorg server input transformations. > --- > gnu/services/xorg.scm | 22 +++++++++++++++++++--- > 1 file changed, 19 insertions(+), 3 deletions(-) > > diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm > index 5f073d05d3..92735e6004 100644 > --- a/gnu/services/xorg.scm > +++ b/gnu/services/xorg.scm > @@ -355,6 +355,21 @@ (define files > files) > #t)))) > > +(define (xorg-configuration-append-input config input default-input path) > + (let ((server (xorg-configuration-server config))) > + (file-append (or (lookup-package-direct-input server input) default-input) > + path))) I'm not sure about the procedure name, maybe add a docstring explain it's function? Otherwise, look good to me, thank you!