Fcitx5 doesn't detect addons

After installing fcitx5 using this configuration:

i18n.inputMethod = {
    enabled = "fcitx5";
    fcitx5.addons = with pkgs; [
        fcitx5-unikey
    ];
};

I still wasn’t able to use unikey. fcitx5-diagnose only lists the following addons:

## Fcitx Addons:
1.  Addon Config Dir:

    Found fcitx5 addon config directory: `/nix/store/pcr6spzll2c7lq2zqdpipqgvmq6zzpw0-fcitx5-5.0.23/share/fcitx5/addon`.

2.  Addon List:

    1.  Found 19 enabled addons:

            Classic User Interface 5.0.23
            Clipboard 5.0.23
            DBus 5.0.23
            DBus Frontend 5.0.23
            Emoji 5.0.23
            Fcitx4 Frontend 5.0.23
            IBus Frontend 5.0.23
            Input method selector 5.0.23
            Keyboard 5.0.23
            KDE Input Method Panel 5.0.23
            Status Notifier 5.0.23
            Notification 5.0.23
            Quick Phrase 5.0.23
            Spell 5.0.23
            Unicode 5.0.23
            Wayland 5.0.23
            Wayland Input method frontend 5.0.23
            XCB 5.0.23
            X Input Method Frontend 5.0.23

    2.  Found 0 disabled addons:

3.  Addon Libraries:

    All libraries for all addons are found.

4.  User Interface:

    Found 2 enabled user interface addons:

        Classic User Interface
        KDE Input Method Panel

I tried installing other addons also but they aren’t detected either.
Does anyone have the same problem?

1 Like

It’s been a while since I messed with fcitx but make sure you’re only “installing” fcitx via i18n.inputMethod and nothing else (no systemPackages or home.packages).

1 Like

I only use i18n.inputMethod to install fcitx5 but it still doesn’t work.

Do you restart your fcitx5 service after switch to the new profile?

Could you check the addon dir printed in fcitx5-diagnose whether there are unikey? And could you check all fcitx5-with-addons in your nix-store?

2 Likes

I got unikey working by running fcitx5 from the fcitx5-with-addons store folder :sob:.

Also I noticed that the fcitx5 tools in PATH will actually use the fcitx5 without addons. Is this behavior desirable?

No. If only i18n.inputMethod.fcitx5 is used, the fcitx5 in PATH should link to the one created by fcitx5-with-addons according the nixos module.

If there are multiple fcitx5 executable under /nix/var/nix/profiles/system/bin/ when building, nix will throw an exception about name collision. Therefore, you probably add fcitx5 by nixos user module, nix-env, home-manager or etc, which path is before /run/current-system/sw/bin in PATH

3 Likes