A lightweight desktop environment for embedded Linux and SBCs. Thin UI client β delegates all system operations to system daemon.
Status: π§ Not a fully polished MVP yet β active development and portfolio piece.
Branch Status:
- β
mainβ stable, builds - π§
feature/ux-ui-flex-layouting-app-designβ widget system refactoring, currently build errors
git clone --recursive https://github.com/dominikj111/Weaver-Desktop.git
cd Weaver-Desktop
cargo run
--recursiveis required to fetch submodules. Icons are optional β app uses emoji fallbacks.
Weaver is a pure GUI desktop environment built in Rust/egui, targeting Raspberry Pi Zero, cyberdecks, kiosks, and resource-constrained embedded Linux. Target footprint: <50MB.
The UI never performs privileged operations directly β it delegates everything to a system daemon handling hardware control, service management, and device abstraction. This keeps the interface lightweight and the architecture clean.
Key idea: Weaver doesn't know about GPIO pins or system services β it knows about devices and panels. A 230V relay becomes "Desk Socket", an I2C sensor becomes "Current: 2.4A". Domain-level control, not electrical primitives.
The same binary reshapes into a traditional desktop, kiosk, cyberdeck control panel, or industrial HMI β driven by configuration templates, not code changes.
Built from a concrete need: a trusted, offline-first control interface for distributed solar power installations. Field hardware, high-voltage relays, minimal compute. The constraint made the architecture.
- Widget composition β trait-based, flexible layout system
- State management β efficient reactive updates
- Minimal rendering β lazy layout computation, on-demand updates for ARM targets
MIT β see LICENSE