.files/nix/homeModules/common/fcitx5/default.nix

29 lines
871 B
Nix

{
pkgs,
config,
lib,
...
}: let
cfg = config.i18n.inputMethod;
in {
i18n.inputMethod = {
fcitx5.addons = [
pkgs.fcitx5-chinese-addons
pkgs.fcitx5-table-extra
];
};
# Note:
# fcitx5, when wrapped with nix, will keep pointing to the configuration in the nix store.
# In order to change the configuration, you need to:
# - kill the existing fcitx5 process because the configtool kinda talks to it (?)
# - unlink the configuration file linked by home-manager (or copy it) so fcitx5-configtool can write to it
# - use fcitx5-configtool from a nix shell so that it doesn't get stuck with the nix store configuration
xdg.configFile = lib.mkIf cfg.enable {
"fcitx5".source = "${./fcitx}";
};
home.sessionVariables = lib.mkIf cfg.enable {
GLFW_IM_MODULE = "ibus"; # make kitty aware of fcitx via ibus interface
};
}