Subject: bug#41121: (Keyboard-layout) form does not work "across the board"

From: Olivier Rojon <[email-masked]>
Date: Mon, 04 Aug 2025 05:39:10 +0000

Hi Stefan,

thanks for your input, even though my reply now comes... five years late ;-)

I see that there was no bug but a simple misunderstanding on my part.

Since the problem is now very old, there is no reason why this issue should still be
present.  I will thus close it, in the interest of queue hygiene :)

Have a good day :)

Stefan Huchler <[email-masked]> writes:

> [email-masked] writes:
>
>> In the process of changing my login manager to slim (over gdm), I
>> noticed that the (keyboard-layout ...) form does not work the same way
>> in the (bootloader)/(set-xorg-configuration) and the
>> (slim-configuration) form. While in the former cases, (keyboard-layout
>> keyboard-layout) uses the string I inputted in the beginning of the
>> config file, an error is thrown when I try to do the same in the
>> (slim-configuration) form (error 1). When I simply use (service
>> slim-service-type) and try to supplement via (set-xorg-configuration),
>> an error is thrown as well (error 2).
>
> Hello "o",
>
> sadly can't see your name, I run into the same Problem and first found
> only your bug report so did not care to look for other bug reports
> further back in the past, but this "bug" missunderstanding seems to be
> related to bug#37422.
>
> I found the solution by carefully reading the docu und try/error a few
> iterations first with simpler level of config till I got the solution
> ( would be easier if I found the bug mentioned earlier but I learned more
> this way so it's good :D )
>
> This is the solution to get it working:
> (service slim-service-type
> 	(slim-configuration
> 	   (xorg-configuration (xorg-configuration
> 		(keyboard-layout keyboard-layout)))))
>
> The tricky part is that you have to use 2 times xorg-configuration one
> time for the variable name and one time you have some sort of generator
> function for xorg-configuration, that didn't clip for me as newcomer to
> guix instantly.
>
> If we consider that a bug it would be a documentian bug, and maybe that
> the set-xorg-configuration method does not work (at least it seems that
> way) that is not what the documentation implies. This function looks
> like a general function where it says "e.g. gdm" that implies that it
> should work for both gdm and all other login-managers the same way.
>
> Ok just testet it that works to:
>
> (set-xorg-configuration
>    (xorg-configuration
>       (keyboard-layout keyboard-layout)) slim-service-type)
>
> Where the documentition there is missleading is that you see the:
>
> Scheme Procedure: set-xorg-configuration config
> [login-manager-service-type]
>
> optional login-manager-service-type parameter but it's not described
> that it defaults to gdm-service-type and can be therefor ommited in the
> case of gdm.
>
> So I would A maybe add more sample code and B adding (default:
> gdm-service-type) behind the "set-xorg-configuration" description.