Install

One line, then you're writing UI

The install script fetches the prebuilt lumenc binary for your platform and puts it in place — no Rust toolchain, no sudo, no compile.

1 · Run the installer

shell — Linux & macOS
curl -fsSL https://lumen-ui.dev/install.sh | sh

The script detects your OS and architecture (Linux/macOS, x86_64/aarch64), downloads lumenc from the latest release, and installs it to ~/.lumen/bin — then prints the PATH line to add if you need one. Set LUMEN_INSTALL_DIR to install somewhere else. It's a short POSIX-sh file; read it before you pipe it.

On Windows, download lumenc.exe from the releases page and put it on your PATH.

Runtime needs. The binary is self-contained, but it still talks to your OS. You need a working GPU driver stack — Vulkan on Linux, Metal on macOS, or DirectX 12 on Windows. On Linux, GTK 3 must be present for native file dialogs. Nothing else to install.

2 · Scaffold & run

Generate a starter app and open a live-reloading window:

shell
lumenc new counter my-app
lumenc run my-app

lumenc is the whole toolchain in one file — it compiles your app, runs it, watches my-app/, and reloads markup, CSS, and script the moment you save. Focus, scroll, and signal values are preserved across the swap.

3 · Verify

Generate the smallest template and check it parses before running:

shell
lumenc new hello hello-test
lumenc check hello-test    # parse-only — should exit 0
lumenc run hello-test      # opens a window

If lumenc check fails on a freshly scaffolded app, that's a bug worth reporting — the templates are tested against every shipped tag.

Editor support

Lumen ships a Language Server, lumen-lsp. Put it on your PATH and any LSP-speaking editor gets completion, hover, and diagnostics for .lmn files. A VS Code extension lives under tools/vscode-lumen; symlink it into your extensions directory and it claims *.lmn automatically.

Build from source

To hack on Lumen itself, or to run ahead of the latest release, build the compiler from the workspace. You'll need Rust 1.85 or newer (edition 2024) via rustup, plus the platform packages below.

# build-time platform packages
PlatformNeeded forInstall
Linux — Debian / Ubuntu GTK 3 file dialogs, Vulkan loader, notifications sudo apt install libgtk-3-dev pkg-config libvulkan1 mesa-vulkan-drivers libnotify-bin
Linux — Fedora GTK 3 + pkg-config sudo dnf install gtk3-devel pkgconf-pkg-config
Linux — Arch GTK 3 + pkg-config sudo pacman -S gtk3 pkgconf
macOS Linker + Metal headers xcode-select --install
Windows MSVC linker (DirectX 12 ships with Windows 10/11) Install Build Tools for Visual Studio 2022 with the C++ workload

Clone the workspace and build the release compiler. The first build is slow — the GPU, text, and layout crates all compile — but later builds reuse the incremental cache.

shell
git clone https://github.com/lumen-ui/lumen.git
cd lumen
cargo build --release -p lumenc

That produces ./target/release/lumenc. Run it directly, or let cargo put it on your PATH with cargo install --path lumenc.

Linux file-dialog note. Lumen pins the rfd dialog crate to its GTK 3 backend — the XDG portal variant conflicts with the blocking D-Bus path AccessKit uses, so it is disabled. Pure-Wayland sessions still work through GTK's portal-less fallback. Native menu bars are macOS/Windows only; Linux builds skip menu-bar attach and the optional libxdo-dev package.
Build your first app → See what people build