Jump to content

Fcitx5

From NixOS Wiki

Fcitx5 is a lightweight input method framework with addon support.

Setup

The following is a simple NixOS configuration that sets up fcitx5, its GUI config tool, and two addons.

i18n.inputMethod = {
  enable = true;
  type = "fcitx5";
  fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-gtk ];
};

Notably, NixOS automagically sets session variables that are required for fcitx5.

Troubleshooting

Add-ons Not Detected

Do not install fcitx5 using environment.systemPackages can interfere with add-on detection. Make sure to only add fcitx5 to your config as shown in Setup.

Fcitx5 failing to load IME module (claims "使用不可" (unusable))

Another possibility is that you are calling ${pkgs.fcitx5}/bin/fcitx5 instead of the patched fcitx5-with-addons (/run/current-system/sw/bin/fcitx5). For example in Hyprland:

 # ~/.config/hypr/hyprland.conf
 exec-once=fcitx5 -d # not ${pkgs.fcitx5}/bin/fcitx5 !

Fcitx5 Doesn't Start When Using WM

If using a Window Manager (WM), such as Sway, you may need to add services.xserver.desktopManager.runXdgAutostartIfNone = true; to your NixOS configuration.

Using Wayland

Set boolean i18n.inputMethod.fcitx5.waylandFrontend to true to suppress warnings about environment variables.

For more details on how to correctly set fcitx5 for different compositors and applications, refer to the fcitx5 wiki.