Keyboard Layout Customization: Difference between revisions

imported>Attila-lendvai
added reference to services.xserver.extraLayouts
imported>Matklad
Clarify using xkbVariant with several layouts
Line 10: Line 10:


* <code>services.xserver.layout</code>: Keyboard layout, or multiple keyboard layouts separated by commas.
* <code>services.xserver.layout</code>: Keyboard layout, or multiple keyboard layouts separated by commas.
* <code>services.xserver.xkbVariant</code>: X keyboard variant
* <code>services.xserver.xkbVariant</code>: X keyboard variant or multiple variants separated by commas (a variant can be empty).
* <code>services.xserver.xkbModel</code>: Keyboard model.
* <code>services.xserver.xkbModel</code>: Keyboard model.
* <code>services.xserver.xkbOptions</code>: X keyboard options; layout switching goes here.
* <code>services.xserver.xkbOptions</code>: X keyboard options; layout switching goes here.
Example:
<source lang="nix">
services.xserver = {
  layout = "us,ru";
  xkbVariant = "workman,";
  xkbOptions = "grp:win_space_toggle";
};
</source>


You can find valid values for these options in <code>$(nix-build --no-out-link '&lt;nixpkgs&gt;' -A xkeyboard_config)/etc/X11/xkb/rules/base.lst</code>
You can find valid values for these options in <code>$(nix-build --no-out-link '&lt;nixpkgs&gt;' -A xkeyboard_config)/etc/X11/xkb/rules/base.lst</code>