yglukhov/nimx
GUI library
{ "createdAt": "2014-12-29T12:47:06Z", "defaultBranch": "master", "description": "GUI library", "fullName": "yglukhov/nimx", "homepage": "", "language": "Nim", "name": "nimx", "pushedAt": "2025-09-27T13:00:26Z", "stargazersCount": 1161, "topics": [ "nim", "ui" ], "updatedAt": "2025-11-21T14:18:07Z", "url": "https://github.com/yglukhov/nimx"}Cross-platform GUI framework in Nim.
This is a development (version 2) version, a lot of upcoming breaking changes are expected.
For the old version see v1 branch.
![Sample Screenshot]!(./doc/sample-screenshot.png)
import nimx/[window, text_field, layout]
proc startApp() = # First create a window. Window is the root of view hierarchy. var wnd = newWindow(newRect(40, 40, 800, 600)) wnd.makeLayout: # Create a static text field, that occupies all the window - Label: frame == super text: "Hello, world!"
# Run the apprunApplication: startApp()Running
Section titled “Running”nim c -r --threads:on main.nimSupported target platforms
Section titled “Supported target platforms”Nimx officially supports Linux, MacOS, Windows, Android, iOS and WebAssembly.
Troubleshooting
Section titled “Troubleshooting”Nimx is tested only against the latest devel version of Nim compiler. Before reporting any issues please verify that your Nim is as fresh as possible.
Running nimx samples
Section titled “Running nimx samples” git clone https://github.com/yglukhov/nimx cd nimx nimble install -dy nake # Build and run on the current platformReference
Section titled “Reference”See [the docs]!(./doc) for more information.