Fcitx5
Fcitx5 is a lightweight input method framework with addon support.
Setup
The following is a simple NixOS configuration that'll setup fcitx5, its GUI config tool, and two addons.
i18n.inputMethod = { enabled = "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
Installing fcitx5 using environment.systemPackages
can interfere with add-on detection. Make sure to only add fcitx5 to your config as shown in Setup.
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
As of NixOS 23.11 i18n.inputMethod.enabled
no longer creates systemd services for fcitx5. Instead it relies on XDG autostart files. If using a Window Manager (WM), such as Sway, you may need to add services.xserver.desktopManager.runXdgAutostartIfNone = true;
to your NixOS configuration.
See the NixOS 23.11 Release Notes for more information.
Using Wayland
Set boolean i18n.inputMethod.fcitx5.waylandFrontend
to true to suppress warnings about environment variables.