4 releases
| 0.2.0 | Feb 23, 2026 |
|---|---|
| 0.1.2 | Jan 27, 2026 |
| 0.1.1 | Jan 27, 2026 |
| 0.1.0 | Jan 27, 2026 |
#1476 in GUI
Used in armas-animated
390KB
6K
SLoC
Armas
Live Demo: https://pohsuanlai.github.io/Armas/
A theme-aware component library for egui, inspired by shadcn/ui.
Armas provides styled, ready-to-use components so you can build polished egui interfaces without manually configuring drawing commands and style APIs.
Usage
use armas::prelude::*;
// Initialize the theme
ctx.set_armas_theme(Theme::dark());
// Use components in your update loop
Button::new("Deploy Project")
.variant(ButtonVariant::Default)
.show(ui);
Running the Showcase
# Native
cargo run -p armas-web
# Web (WASM) — requires trunk (cargo install trunk)
cd crates/armas-web && trunk serve
Crates
| Crate | Description |
|---|---|
armas |
Umbrella crate with feature-gated re-exports |
armas-basic |
Core components and theme system |
armas-audio |
Audio/DAW-specific components |
armas-icon |
SVG icon system |
Acknowledgements
Visual design and API patterns inspired by:
License
Licensed under the MIT license.
lib.rs:
Armas
A theme-aware component library for egui, inspired by shadcn/ui.
This is the umbrella crate that re-exports the Armas sub-crates with feature gates.
Features
basic(default) — Core UI components viaarmas_basicicon(default) — SVG icon system viaarmas_iconaudio— Audio/DAW components viaarmas_audio
Quick Start
use armas::prelude::*;
// Set the theme once at startup
// ctx.set_armas_theme(Theme::dark());
// Then use components in your UI code
// Button::new("Click me").variant(ButtonVariant::Default).show(ui);
Dependencies
~0–1.1MB
~20K SLoC