mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
feat(keyboard): add modes for languages
This commit is contained in:
@@ -4,13 +4,20 @@
|
||||
...
|
||||
}: let
|
||||
commaSep = builtins.concatStringsSep ",";
|
||||
languages = {
|
||||
de = "T3";
|
||||
gr = "polytonic";
|
||||
ru = "phonetic";
|
||||
ara = "buckwalter";
|
||||
};
|
||||
defaultLanguage = "de";
|
||||
in {
|
||||
# man 7 xkeyboard-config
|
||||
services.xserver = {
|
||||
layout = commaSep ["de" "gr" "ru" "ara"];
|
||||
layout = commaSep (builtins.attrNames languages);
|
||||
# T3: https://upload.wikimedia.org/wikipedia/commons/a/a9/German-Keyboard-Layout-T3-Version1-large.png
|
||||
# buckwalter: http://www.qamus.org/transliteration.htm
|
||||
xkbVariant = commaSep ["T3" "polytonic" "phonetic" "buckwalter"];
|
||||
xkbVariant = commaSep (builtins.attrValues languages);
|
||||
xkbOptions =
|
||||
commaSep ["compose:caps" "terminate:ctrl_alt_bksp" "grp:ctrls_toggle"];
|
||||
libinput.enable = true;
|
||||
@@ -18,6 +25,14 @@ in {
|
||||
|
||||
console.keyMap = "de";
|
||||
|
||||
environment.systemPackages =
|
||||
lib.mapAttrsToList
|
||||
(language: variant:
|
||||
pkgs.writers.writeDashBin "kb-${language}" ''
|
||||
${pkgs.xlibs.setxkbmap}/bin/setxkbmap ${defaultLanguage},${language} ${languages.${defaultLanguage}},${variant}
|
||||
'')
|
||||
languages;
|
||||
|
||||
# improve held key rate
|
||||
services.xserver.displayManager.sessionCommands = "${pkgs.xorg.xset}/bin/xset r rate 300 50";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user