Nimf input tool

Nimf is a lightweight and efficient input method editor (IME) designed for Unix-like operating systems. It aims to provide a fast and resource-friendly typing experience, even on older hardware or in virtualized environments.

Key Features and Components

Nimf offers a comprehensive set of features to enhance your typing experience:

  • Input Method Server (nimf): The core component that handles input processing.
  • Settings Tool (nimf-settings): A user-friendly interface for configuring Nimf.
  • Virtual Keyboard Driver (nimf-forward): Enables virtual keyboard functionality.
  • Console Input Method (nimf-cons): An experimental alpha version for testing purposes only.

Supported Languages and Modules

Nimf supports a wide array of languages and integrates seamlessly with various desktop environments:

  • Languages:
    • System keyboard layouts
    • Chinese
    • Japanese
    • Korean
    • Vietnamese
    • Old Hungarian
    • Ukrainian
    • And many other languages
  • Service Modules:
    • Indicator (AppIndicator-based)
    • NIM (Nimf Input Method)
    • XIM (X Input Method)
    • Wayland support
    • Preedit window
    • Candidate window
  • Input Modules:
    • GTK+2, GTK+3, GTK 4
    • Qt 5, Qt 6

Designed for Performance

Nimf is engineered with minimal memory consumption in mind. By allowing a single server to manage multiple roles, Nimf significantly reduces its memory footprint. This makes it a suitable choice for low-end computers and virtual machines, where performance is critical.

Important Security Notice

Nimf has not undergone extensive security testing. Therefore, we do not recommend using it in environments that require high security.

Download Nimf

Please select your operating system and architecture to download the appropriate package.

FreeBSD® 14

Download nimf-2025.03.07.pkg
Download zh-sunpinyin-3.0.0.r2.pkg

Note: The source code for zh-sunpinyin-3.0.0.r2 is available at https://github.com/sunpinyin/sunpinyin/tree/v3.0.0-rc2.
A modified source code can be downloaded here sunpinyin.diff.

After downloading, install with the following command:

$ sudo pkg add ~/Downloads/nimf-2025.03.07.pkg ~/Downloads/zh-sunpinyin-3.0.0.r2.pkg

Linux®

Debian 12 amd64 (64-bit x86)

Download nimf_2024.08.22-bookworm_amd64.deb

Install with:

sudo apt install ~/Downloads/nimf_2024.08.22-bookworm_amd64.deb
Ubuntu 22.04 amd64 (64-bit x86)

Download nimf_2023.01.26-bookworm_amd64.deb

Install with:

sudo apt install ~/Downloads/nimf_2023.01.26-bookworm_amd64.deb
Ubuntu 20.04, Debian 11 amd64 (64-bit x86)

Download nimf_2023.01.26-bullseye_amd64.deb

Install with:

sudo apt install ~/Downloads/nimf_2023.01.26-bullseye_amd64.deb
Ubuntu 20.04, Debian 11 aarch64 (64-bit ARM)

Download nimf_2022.03.05-bullseye_arm64.deb

Install with:

sudo apt install ~/Downloads/nimf_2022.03.05-bullseye_arm64.deb
Ubuntu 18.04 i386 (32-bit x86)

Download nimf_2024.04.13-bionic_i386.deb
Download libxkbcommon-dev_1.0.3-2_i386.deb
Download libxkbcommon-doc_1.0.3-2_all.deb
Download libxkbcommon-tools_1.0.3-2_i386.deb
Download libxkbcommon-x11-0_1.0.3-2_i386.deb
Download libxkbcommon-x11-dev_1.0.3-2_i386.deb
Download libxkbcommon0_1.0.3-2_i386.deb
Download libxkbregistry-dev_1.0.3-2_i386.deb
Download libxkbregistry0_1.0.3-2_i386.deb

Install with:

sudo apt install \
  ~/Downloads/nimf_2024.04.13-bionic_i386.deb \
  ~/Downloads/libxkbcommon-dev_1.0.3-2_i386.deb \
  ~/Downloads/libxkbcommon-doc_1.0.3-2_all.deb \
  ~/Downloads/libxkbcommon-tools_1.0.3-2_i386.deb \
  ~/Downloads/libxkbcommon-x11-0_1.0.3-2_i386.deb \
  ~/Downloads/libxkbcommon-x11-dev_1.0.3-2_i386.deb \
  ~/Downloads/libxkbcommon0_1.0.3-2_i386.deb \
  ~/Downloads/libxkbregistry-dev_1.0.3-2_i386.deb \
  ~/Downloads/libxkbregistry0_1.0.3-2_i386.deb
Arch Linux, Manjaro amd64 (64-bit x86)

Download nimfsoft-nimf-2024.04.30-20240430-x86_64.pkg.tar.zst

Install with:

sudo pacman -U ~/Downloads/nimfsoft-nimf-2024.04.30-20240430-x86_64.pkg.tar.zst
OpenSUSE Leap 15.4 amd64 (64-bit x86)

Download nimf-2023.01.26-2.leap15.x86_64.rpm

Install with:

sudo zypper in ~/Downloads/nimf-2023.01.26-2.leap15.x86_64.rpm
OpenSUSE Tumbleweed amd64 (64-bit x86)

Download nimf-2023.01.26-1.tumbleweed.20230125.x86_64.rpm

Install with:

sudo zypper in ~/Downloads/nimf-2023.01.26-1.tumbleweed.20230125.x86_64.rpm
OpenSUSE Tumbleweed aarch64 (64-bit ARM)

Download nimf-2022.03.05-1.tumbleweed.20220326.aarch64.rpm

Install with:

sudo zypper in ~/Downloads/nimf-2022.03.05-1.tumbleweed.20220326.aarch64.rpm
Fedora 37 amd64 (64-bit x86)

Download nimf-2023.01.26-1.fc37.x86_64.rpm

Install with:

sudo yum install ~/Downloads/nimf-2023.01.26-1.fc37.x86_64.rpm

Need a Custom Nimf Package?

If you require the latest Nimf package for a specific distribution or architecture not listed above, we offer a paid service to create it for you.

  • Production Deadline: Your custom package will be created and published on the Nimf page within one week. If we are unable to meet this deadline, you’ll receive a full refund.
  • Availability: All created packages are publicly available for download on the Nimf website.
  • Cost: The service fee for creating a custom Nimf package is $25 USD per package.
Architecture
Name of the targeted Linux distribution or BSD

Support

Report Bugs

If you encounter any bugs or inconveniences while using Nimf, please don’t hesitate to report them via email to:

hodong@nimfsoft.art

Your feedback is valuable and helps me improve Nimf.

Initial Setup

After installing Nimf, follow these steps to get started:

1. Set Environment Variables

Launch nimf-settings and enable the ‘Set environment variables’ option.

  • Important: If you wish to use another input method, you must disable the ‘Set environment variables’ option in nimf-settings.

set-environment-variables.png

2. Select Languages

Choose the languages you need for input.

select-languages.png

After completing these steps, simply log in again, and you’ll be ready to use Nimf.