add(nixos): fcitx works !

This commit is contained in:
Léana 江 2023-12-27 21:55:19 +01:00 committed by Léana 江
parent f84ac37130
commit 0d70f425cb
4 changed files with 103 additions and 18 deletions

View file

@ -1,4 +1,4 @@
{...}: {
{pkgs, ...}: {
time.timeZone = "Europe/Paris";
i18n = {
defaultLocale = "en_US.UTF-8";
@ -15,6 +15,86 @@
};
};
# TODO: configure this
# i18n.inputMethod.enabled = "fcitx5";
i18n.inputMethod.enabled = "fcitx5";
i18n.inputMethod.fcitx5.addons = with pkgs; [
fcitx5-chinese-addons
fcitx5-table-extra
fcitx5-chewing
];
i18n.inputMethod.fcitx5.ignoreUserConfig = true;
i18n.inputMethod.fcitx5.settings.inputMethod = {
"Groups/0" = {
"Name" = "gCangjie";
"Default Layout" = "us";
"DefaultIM" = "cangjie5";
};
"Groups/0/Items/0" = {
"Name" = "cangjie5";
"Layout" = null;
};
"Groups/1" = {
"Name" = "gDvorak";
"Default Layout" = "myDvorak";
"DefaultIM" = "keyboard-myDvorak";
};
"Groups/1/Items/0" = {
"Name" = "keyboard-myDvorak";
"Layout" = null;
};
"Groups/2" = {
"Name" = "gDvorakFrench";
"Default Layout" = "myDvorakFrench";
"DefaultIM" = "keyboard-myDvorakFrench";
};
"Groups/2/Items/0" = {
"Name" = "keyboard-myDvorakFrench";
"Layout" = null;
};
"GroupOrder" = {
"0" = "gDvorak";
"1" = "gDvorakFrench";
"2" = "gCangjie";
};
};
i18n.inputMethod.fcitx5.settings.globalOptions = {
Hotkey = {
EnumerateWithTriggerKeys = true;
EnumerateForwardKeys = null;
EnumerateBackwardKeys = null;
EnumerateSkipFirst = null;
};
"Hotkey/TriggerKeys" = {};
"Hotkey/AltTriggerKeys" = {"0" = "Shift_L";};
"Hotkey/EnumerateGroupForwardKeys" = {"0" = "Control+space";};
"Hotkey/EnumerateGroupBackwardKeys" = {};
"Hotkey/PrevPage" = {"0" = "Up";};
"Hotkey/NextPage" = {"0" = "Down";};
"Hotkey/PrevCandidate" = {"0" = "Shift+Tab";};
"Hotkey/NextCandidate" = {"0" = "Tab";};
Behavior = {
ActiveByDefault = false;
ShareInputState = "No";
PreeditEnabledByDefault = true;
ShowInputMethodInformation = true;
ShowInputMethodInformationWhenFocusIn = false;
CompactInputmethodInformation = true;
ShowFirstInputMethodInformation = true;
DefaultPageSize = "5";
OverriedXkbOption = false;
CustomXkbOption = null;
EnabledAddons = null;
DisabledAddons = null;
PreloadInputMethod = true;
AllowInputMethodForPassword = false;
ShowPreeditForPassword = false;
AutoSavePeriod = "30";
};
};
}

View file

@ -1,14 +1,14 @@
{...}: {
services.xserver.xkb = {
layout = "dvorak";
layout = "myDvorak";
options = "caps:swapescape";
extraLayouts = {
"dvorak" = {
"myDvorak" = {
languages = ["us"];
symbolsFile = ./dvorak.xkb;
description = "Leana's dvorak";
};
"dvorak-french" = {
"myDvorakFrench" = {
languages = ["fr"];
symbolsFile = ./dvorak-french.xkb;
description = "Leana's dvorak but baguette";

View file

@ -3,7 +3,7 @@
partial alphanumeric_keys
xkb_symbols "dvorak-french" {
name[Group1]= "English (Dvorak)";
name[Group1]= "French (Dvorak)";
key <TLDE> {[ grave, asciitilde, dead_grave, dead_tilde ]};
key <AE01> {[ VoidSymbol, exclam ]};