guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Brain storming cool Guix features


From: Ricardo Wurmus
Subject: Re: Brain storming cool Guix features
Date: Sat, 05 Jan 2019 18:06:39 +0100
User-agent: mu4e 1.0; emacs 26.1

Hi Joshua,

> Ricardo Wurmus <address@hidden> writes:
>
>> Joshua Branson <address@hidden> 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]