77 lines
1.6 KiB
Nix
77 lines
1.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
modulePath,
|
|
...
|
|
}:
|
|
{
|
|
# Select internationalisation properties.
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
console.keyMap = "fr-bepo";
|
|
|
|
i18n.inputMethod = {
|
|
enable = true;
|
|
type = "fcitx5";
|
|
fcitx5.addons = with pkgs; [
|
|
fcitx5-gtk
|
|
fcitx5-mozc
|
|
];
|
|
fcitx5.waylandFrontend = true;
|
|
fcitx5.plasma6Support = true;
|
|
fcitx5.settings.inputMethod = {
|
|
"Groups/0" = {
|
|
"Name" = "RegularTyping";
|
|
"Default Layout" = "fr-bepo";
|
|
"DefaultIM" = "keyboard-fr-bepo";
|
|
};
|
|
"Groups/0/Items/0" = {
|
|
"Name" = "keyboard-fr-bepo";
|
|
"Layout" = "fr-bepo";
|
|
};
|
|
"Groups/0/Items/1" = {
|
|
"Name" = "keyboard-fr";
|
|
"Layout" = "fr";
|
|
};
|
|
"Groups/0/Items/2" = {
|
|
"Name" = "mozc";
|
|
"Layout" = "fr-bepo";
|
|
};
|
|
};
|
|
fcitx5.settings.globalOptions = {
|
|
"[Hotkey]" = {
|
|
"EnumerateWithTriggerKeys" = true;
|
|
};
|
|
"[Hotkey/TriggerKeys]" = {
|
|
"0" = "Control+Shift+K";
|
|
};
|
|
"[Behaviour]" = {
|
|
"ActiveByDefault" = true;
|
|
};
|
|
};
|
|
};
|
|
services.xserver.desktopManager.runXdgAutostartIfNone = true;
|
|
|
|
environment.sessionVariables = rec {
|
|
XMODIFIERS = "@im=fcitx";
|
|
};
|
|
|
|
# Keyboard layout for login manager
|
|
services.xserver.xkb.layout = "fr";
|
|
services.xserver.xkb.variant = "bepo";
|
|
|
|
services.keyd = {
|
|
enable = true;
|
|
keyboards = {
|
|
default = {
|
|
ids = [ "*" ];
|
|
settings = {
|
|
main = {
|
|
"f23+leftshift+leftmeta" = "layer(control)";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|