How can I use the Neo keyboard layout (version 2, of course) on the console? The manual says it can be activated during installation by loadkeys de neo
, but how do I set it as the default console layout in configuration.nix
? I guess console.keyMap = "neo";
won’t work, as the de
is missing.
I think console.keyMap = "neo";
will work. Isn’t neo
only a German layout? For example for colemak, one needs to do loadkeys us colemak
but console.keyMap = "colemak";
works.
You can search the available console keymaps with find "$(nix eval --raw 'nixpkgs#kbd')/share/keymaps" -name '*.map.gz' | grep "neo"
. Note that the nix subcommand requires nixUnstable
.
Unfortunately I can’t, since I haven’t yet a running NixOS installation (I’m just writing configuration.nix
for my first NixOS installation and want it to use Neo right from the beginning). Could you tell me what’s the output of this command on one of your NixOS machines? Does it say that using just neo
works?
The strange thing is that loadkeys
expects two argument, a “group”, like de
, and a layout within that group, like neo
, but console.keyMap
expects only a single string. Somewhere there must be a mapping defined between the strings that console.keyMap
accepts and the pairs of strings that loadkeys
expects. Where is this mapping defined? And where is it documented?
Yes, just “neo” is a valid keymap value. console.keyMap = "neo";
will do what you want.