Hi Joshua,
> Ricardo Wurmus <rek...@elephly.net> writes: > >> Joshua Branson <jbra...@dismail.de> writes: >> >>> I had some cool ideas/features for things that GuixSD could potentially >>> add, and I wanted to share. Are any of these possible? >>> >>> #+BEGIN_SRC scheme >>> (operating system >>> (keymap "dvorak") >>> ...) >>> #+END_SRC >>> >>> The above would make the bootloader, console, X, and wayland all use the >>> dvorak layout. That would be a nice feature! I currently use "dvorak", >>> and it's slightly annoying that grub uses qwerty. :( >> >> Same here. Some of this might be accomplished with a system service >> that extends configuration files with the required settings. Would you >> like to give this a try? > > Yes I would! I will probably need some mentoring to figure it all out, > but I will take a go at it. I think I know how to go about trying it. > I'll get back to you next week, when I'll probably need some more > direction. Excellent! I recommend looking at the manual section “6.2.15.1 Service Composition”. We would like to have a service that extends other existing services — in some cases we want an extension of the etc-service-type, which adds files to /etc. In other cases we may want to extend the configuration of some X11 service, which is trickier. Before you try to write any code at all, it would make sense to figure out what exactly we want to happen. Currently, the way to configure X11 is a bit awkward: I need to do something like this to override X11 settings: --8<---------------cut here---------------start------------->8--- (slim-service-type config => (slim-configuration (inherit config) (startx (xorg-start-command #:configuration-file (xorg-configuration-file #:extra-config (list dvorak-evdev)))))) --8<---------------cut here---------------end--------------->8--- But what should the service do if we aren’t using slim-service-type? It seems to me that maybe slim-service-type should extend some new x11-service-type that has its own configuration, instead of having the X11 configuration be a side effect of specifying the “startx” field of the slim-configuration. Feel free to come up with a better way and discuss it here on the list rather than trying to squeeze the desired behaviour into the current implementation. -- Ricardo