Fcitx5
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.

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.