Open-code components for GPUI, built on Base GPUI.
https://ui.jha.sh β// readme
gpuicn
gpuicn gives native GPUI apps 45 polished, shadcn-styled components, from Button and Dialog to Sidebar, Resizable and Virtual List. Like shadcn/ui, it copies the Rust source into your app, so you own every line and can change any of it. Behavior comes from GPUI Kit; gpuicn adds the Nova styling, a themeable token system and larger desktop components.
[!WARNING] gpuicn is experimental. APIs and styling can change between releases;
gpuicn diffshows exactly what an update would change in your copy.
Quick start
cargo install gpuicn-cli --version 0.9.2 --locked
gpuicn new my-app --base-color zinc # cargo new + pinned deps, Geist fonts, theme, Button and a starter window
cd my-app && cargo run
gpuicn add sidebar dialog
gpuicn theme set --radius 0.5rem --appearance dark
Thatβs the whole setup. No Node.js is involved. In an existing app, run
gpuicn init from its root instead of gpuicn new; it keeps everything you
already have. Installing the CLI also adds cargo gpuicn as an alias.
The starter main.rs is one call: ui::app::run opens the window with the
Lucide icons, the Geistβ¦