all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Joshua Branson <jbranso@dismail.de>
To: guix-devel@gnu.org
Subject: Re: Brain storming cool Guix features
Date: Sun, 13 Jan 2019 15:18:25 -0500	[thread overview]
Message-ID: <87imyss44u.fsf@dismail.de> (raw)
In-Reply-To: <877efktnry.fsf@elephly.net> (Ricardo Wurmus's message of "Fri, 04 Jan 2019 17:01:37 +0100")

Ricardo Wurmus <rekado@elephly.net> writes:

> Joshua Branson <jbranso@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?
>

Here's what I have been able to do for this week.

td;dr
I believe I have identified conceptually how to do some of these things.

This project breaks down into four areas

Getting the layout to work with:

1) grub
2) linux's initrd
3) console
4) X/wayland's layout
5) How to do the above

1)  I was not able to get grub to generate an alternate keyboard layout.

#+BEGIN_SRC sh :results output :exports both
sudo grub-kbdcomp -o /boot/grub/dvorak.gkb dvorak
#+END_SRC

#+RESULTS:
: /home/joshua/.guix-profile/bin/grub-kbdcomp: line 76: ckbcomp: command not found
: ERROR: no valid keyboard layout found. Check the input.

Do we have ckbcomp installed?  How do I install that?

2) Linux's initrd

The manual mentions that there are three ways to customize your initrd.
Hopefully I'll be able to use the highlevel base-initrd procedure.

        Furthermore, if you need lower-level customization, the ‘initrd’
     field of an ‘operating-system’ declaration allows you to specify which
     initrd you would like to use.  The ‘(gnu system linux-initrd)’ module
     provides three ways to build an initrd: the high-level ‘base-initrd’
     procedure and the low-level ‘raw-initrd’ and ‘expression->initrd’
     procedures.

3) console
   This shouldn't be all that hard to do.  We just have to add a
   console-keymap-service.

4) X/Wayland's layout shouldn't be all that hard to do too.  X is just
a simple xorg-start-command tweak.  I'm not certain how to do the same
for wayland yet.


5) Now, how do I go about doing the above?  I thought about modifying
%base-services and %desktop services, but some users won't use those
variables.  So I am going to have to do some change at a deeper level.
I believe that I found the reconfigure module in the guix source code,
and I see the variable called "operating-system-user-services".  My
intent is to modify this variable, and that should be how a good-old
reconfigure will change your layout.

Thanks,

--
Joshua Branson
Sent from Emacs and Gnus

  parent reply	other threads:[~2019-01-13 20:18 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-04 12:11 Brain storming cool Guix features Joshua Branson
2019-01-04 16:01 ` Ricardo Wurmus
2019-01-05 13:59   ` Joshua Branson
2019-01-05 17:06     ` Ricardo Wurmus
2019-01-13 20:18   ` Joshua Branson [this message]
2019-01-13 21:36     ` bug#25453: Keyboard layout configuration Ludovic Courtès
2019-01-13 22:49       ` nee
2019-01-13 22:49       ` nee
2019-01-15 22:21         ` Ludovic Courtès
2019-03-12 19:34           ` bug#25453: " Taylan Kammer
2019-03-12 19:34           ` Taylan Kammer
2019-03-15 18:19             ` nee
2019-03-21 22:23               ` Taylan Kammer
2019-03-20 23:07           ` Ludovic Courtès
2019-03-20 23:07           ` Ludovic Courtès
2019-01-15 22:21         ` Ludovic Courtès
2019-01-16 13:10         ` Ludovic Courtès
2019-01-16 13:10         ` bug#25453: " Ludovic Courtès
2019-01-04 16:10 ` Brain storming cool Guix features Pierre Neidhardt
2019-01-04 16:14   ` John Soo
2019-01-04 16:58 ` znavko
2019-01-06 13:44   ` Amirouche Boubekki
2019-01-06 16:33     ` swedebugia
2019-01-06 20:04       ` Amirouche Boubekki
2019-01-07 16:48 ` L p R n d n
2019-01-07 18:16   ` Joshua Branson
2019-01-11 22:32   ` GRUB fallback mechanism [was Re: Brain storming cool Guix features] Leo Famulari
2019-01-12 12:59     ` swedebugia
2019-01-12 15:58       ` Ricardo Wurmus
2019-01-13 20:58         ` Ludovic Courtès
2019-01-14 14:15           ` L p R n d n

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87imyss44u.fsf@dismail.de \
    --to=jbranso@dismail.de \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.