No description
Find a file
nukemdu 41f3353076
Add font path for Fedora (#535)
Co-authored-by: nukemdu <numemdu@fonira>
2025-09-27 15:00:26 +02:00
.github/workflows ci fix 2025-08-03 01:16:37 +02:00
assets Fixed building for current android ndk. (#513) 2023-04-28 13:37:45 +02:00
doc Add another ExpandingView example (#461) 2020-12-24 11:08:49 +02:00
editor Change 4-space indentation to 2-space 2025-07-29 14:12:24 +02:00
nimx Add font path for Fedora (#535) 2025-09-27 15:00:26 +02:00
tests Fonts sample cosmetics 2025-09-10 13:26:38 +02:00
.gitignore Fixing docs 2016-07-06 11:14:44 +03:00
LICENSE Changed license to MIT. Closes #158 2016-08-29 11:58:38 +03:00
nakefile.nim Renamed dir test -> tests 2025-07-29 16:29:43 +02:00
nimx.nimble Returned full url for android dependency 2025-08-02 23:07:00 +02:00
README.md ci fix 2025-08-03 01:16:37 +02:00

nimx Build Status nimble

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.

Live demo in WebGL

Sample Screenshot


Usage

# File: main.nim
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 app
runApplication:
  startApp()

Running

nim c -r --threads:on main.nim

Supported target platforms

Nimx officially supports Linux, MacOS, Windows, Android, iOS and WebAssembly.

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

  git clone https://github.com/yglukhov/nimx
  cd nimx
  nimble install -dy
  nake # Build and run on the current platform

Reference

See the docs for more information.