Imguin
Dear Imgui / CImGui, ImPlot/CImPlot wrapper for Nim language
Install / Use
/learn @dinau/ImguinREADME
ImGuin
Updated to latest Dear ImGui / CImGui version: : v1.92.6 dock (2026/02)
This project is Dear ImGui wrapper library for Nim[^notice].
[^notice]: It may be better to use the mainstream project nimgl/imgui (ImGui v1.85)
,updated project nimgl-imgui (ImGui v1.89.9) ,sub project nim_implot and test project nimgl_test,
or https://github.com/daniel-j/nimgl-imgui (ImGui v1.91.1)
WASM demo (WIP)
Screenshot
Note: First see examples project ImGuin_examples
tests folder

Dear ImGui + Naylib(Raylib) + rlImgui example

Prerequisites
-
Nim-2.2.8 or later
-
Windows11 or later
MSys2/MinGW command line tools (Unix tools), make, cp, rm, git, ...etcpacman -S mingw-w64-ucrt-x86_64-glfw make -
Linux: Ubuntu / Debian families
$ sudo apt install gcc g++ make git curl xz-utils $ sudo apt install lib{opengl-dev,gl1-mesa-dev,glfw3-dev,xcursor-dev,xinerama-dev,xi-dev,sdl2-dev}-
Install nim
curl https://nim-lang.org/choosenim/init.sh -sSf | shYou must now ensure that the Nimble bin dir is in your PATH. Place the following line in the ~/.profile or ~/.bashrc file. export PATH=/home/username/.nimble/bin:$PATH
-
Install
nimble refresh
nimble uninstall imguin # Remove old versions if exists.
nimble install imguin
Available libraries
Library name / C lang. wrapper
- [x] ImGui / CImGui
- [x] ImPlot / CImPlot
- [x] ImNodes / CImNodes
- [x] ImGuizmo / CImGuizmo
- [x] ImGui-Knobs / CImGui-Knobs
- [x] ImGuiFileDialog / CImGuiFileDialog
- [x] ImGui_Toggle / CimGui_Toggle
- [x] ImPlot3d / CImPlot3d
- [x] ImSpinner / CImSpinner
- [x] ImGuiColorTextEdit / cimCTE (2025/03)
- [x] ImGuiTextSelect / CImGuiTextSelect (2025/09)
- [ ] ImGui_Markdown (2025/09) WIP
Additional examples
Frontends and Backends
| Frontends | Backends | | --- | ------------------- | | GLFW | OpenGL3, Vulkan(2026/03) | | SDL2 | OpenGL3, sdlrenderer2 | | SDL3 | OpenGL3, sdlrenderer3, sdlgpu3, Vulkan(2026/03) |
[^fed]: Front end
Update / Downgrade Dear ImGui and CImGui by yourself
-
Prerequisite
-
Windows10 or later Clang/LLVM refer to Futhark installation.
nimble install futharkIt must exist
libclang.afile in the library path (e.g. inc:\llvm\lib). -
Linux Debian / Ubuntu families
sudo apt install clang-16 nimble install --passL:"-L/usr/lib/llvm-16/lib" futhark
Important Notice: Confirm Futhark version is v0.15.0 at this time.
nimble dump futhark -
-
Update / Downgrade ImGui/CImGui
-
Compose development folders
First move to your working folder you like, thenmkdir imguin_dev cd imguin_dev git clone https://github.com/dinau/imguin cd imguin -
Clone ImGui/CImGui etc. sources at once forever
pwd imguin make clonelibsCloned libraries are under
../libs/folder -
Recursively update the sources using git
pullorfetchin the each library folder,
../libs/cimgui
../libs/cimguizmo
../libs/cimnodes
../libs/cimplot
... snip ... -
checkoutarbitrary version with git command in the respective folder -
Specify your
Clanginclude path toClangIncludePathinimguin/src/imguin/cimgui.nim. -
Generate the definition file uisng Futhark,
pwd imguin make gen -
Install updated files
Properly edit the version info etc inimguin.nimblefile, thenpwd imguin nimble uninstall imguin # Remove old versions if it exists. nimble installThat's all.
Repeat from3.if you'd like to update or downgrade to other version.
-
-
Confirmed version
Windows OS is all OK.| ImGui/CImGui Ver. | ImGuin Ver. | Date | Linux Debian Family (3) | Notice | | :--------------: | --------- | :----: | :---: | --- | | 1.92.6 dock | 1.92.6.1 | 2026/03 | OK | Breaking changed impl_glfw.nim | | 1.92.6 dock | 1.92.6.0 | 2026/02 | OK | | 1.92.4 dock | 1.92.4.0 | 2025/11 | OK | | 1.92.3 dock | 1.92.3.0 | 2025/09 | OK | | 1.92.2b dock | 1.92.2.1 | 2025/09 | OK | | 1.92.2b dock | 1.92.2.0 | 2025/08 | OK | | 1.92.0 dock | 1.92.0.2 | 2025/08 | OK | | 1.92.0 dock | 1.92.0.1 | 2025/07 | OK | | 1.91.9b dock | 1.91.9.4 | 2025/06 | OK | | 1.91.8dock | 1.91.8.2 | 2025/03 | OK | | 1.91.6dock | 1.91.6.15 | 2025/01 | (4) | | 1.91.4dock | 1.91.4.2 | 2024/12 | OK | | 1.91.3dock | 1.91.3.1 | 2024/10 | (4) | | 1.91.2dock | 1.91.2.0 | 2024/10 | (4) | | 1.91.1dock | 1.91.1.2 | 2024/09 | Except ImNodes example | | 1.91.0dock | 1.91.0.0 | 2024/08 | (4) | | 1.90.4dock | 1.90.4.2 | 2024/02 | Use nim-2.0.2 | | 1.89.9dock | 1.89.9.8 | 2023/12 | OK (1)(2) |
(1) Except imnodes and SDL2 example.
(2) Works well only if it is compiled debug mode.
(3) Dedian / Ubuntu familiy.
(4) Doesn't check, but probably will work well.
TODO
- ~~Whether can it use
cimgui.dll? (Now it can only be static link)~~ Closed. Only be static link. - ~~Easier compilation for SDL2 app~~. (2024/09) Done.
- ~~Added: ImNodes/CImNodes~~ (2023/10) Done
- ~~Unfortunately ImGui 1.89.7 dosn't work well at this moment.(2023/07)~~ Done. (2023/08)
- ~~Whether can it do
nimble install imguin?~~ Done (2023/09) (#Issue 13) - ~~Add Font Awesome (Icon Font) demo.~~ Done (2023/04).
- ~~Can it compile with MSVC (--cc:vcc) ?~~ Done. Except SDL2 demo. (2023/03), TODO (2024/09)
- ~~Can it compile with Clang (--cc:clang) ?~~ Done. (2023/03)
- ~~Add SDL2 example.~~ Done. examples/sdl2_opengl3 (2023/03)
- First step is done. (2023/03)
My tools version
Windows11 (main)
- Nim Compiler Version 2.2.6
- GCC (Rev1, Built by MSYS2 project) 15.2.0
- Visual Studio C++/C 2022
- git version 2.46.0.windows.1
- Make: GNU Make 4.4.1
- MSys2/MinGW tools
Linux Debian 13
- Nim Compiler Version 2.2.6
- gcc 14.2.0
- make: GNU Make 4.4.1
Other link
- File
Related Skills
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.8kCommit, push, and open a PR
