[01]
OVERVIEW

Build kiosk Linux
with web technologies.

Build minimal, bootable operating systems for embedded displays. Web-native dev stack. Hot-reload development. Smart caching. Full hardware customization.

v0.0.19 / alpha / GPLv2
strux — ~/projects
[02]
CAPABILITIES

Designed for
fast iteration.

Every component of the build pipeline is optimized for speed, reproducibility, and developer experience.

01

Web-Native Stack

React, Vue, or vanilla JS frontend. Go backend with automatic method/field exposure and auto-generated TypeScript types.

strux types
02

Hot-Reload Dev

Frontend HMR via Vite. Go binary recompiles and streams to device automatically. mDNS auto-discovery.

strux dev --remote
03

Smart Caching

SHA256 dependency tracking at the individual file and YAML key level. Deferred permission fixing.

strux build <bsp>
04

Board Support

Custom kernels, bootloaders, device trees, overlays. 20+ lifecycle hooks. Interactive menuconfig.

strux kernel menuconfig
05

QEMU Testing

GPU auto-detection, hardware acceleration, USB passthrough, serial console. Platform-specific: macOS HVF, Linux KVM.

strux dev --debug
06

Single Binary

All build scripts, Dockerfiles, Go/C source, templates embedded. Zero runtime dependencies beyond Docker, Go, and NodeJS.

brew install strux
[03]
TYPE-SAFE BRIDGE

Go in. TypeScript out.

Write your frontend in React or Vue, and your backend in Go. Strux introspects your AST and generates TypeScript interfaces automatically. Full IDE autocomplete across the entire stack.

strux types
main.go
input

type App struct {

  Title   string

  Counter int

}

func (a *App) Greet(name string) string { ... }

func (a *App) Add(x, y int) int { ... }

AST INTROSPECTION
strux.d.ts
auto-generated

interface App {

  Title: string

  Counter: number

  Greet(name: string): Promise<string>

  Add(x: number, y: number): Promise<number>

}

[04]
PROCEDURE

Four steps to boot.

From scaffold to a running OS in under five minutes. Docker is the only prerequisite.

01

Scaffold

$ strux init my-kiosk --template vue --arch arm64
02

Build for Production

$ strux build qemu
03

Test in QEMU

$ strux run
04

Develop, Build and Run in QEMU

$ strux dev
[05]
SYSTEM ARCHITECTURE

From bootloader
to browser.

The complete software stack assembled by a single CLI. You write the top two layers — Strux handles everything below automatically while giving you complete control.

Your code
Strux managed - completely customizable
Your Frontend
Your Go Backend
WPE WebKit + IPC Extension
Cog Browser (WPE launcher)
Custom Cage Wayland Compositor
Strux Client
Debian 13 Trixie Rootfs
Linux Kernel
Bootloader
Target Hardware
[06]
COMPARISON

Measured against
the alternatives.

METRIC
STRUX
YOCTO
Learning curve
Web-dev familiar
Specialized
Incremental build
Minutes
30min+
Dev iteration
Hot-reload
Full rebuild
Frontend
React / Vue / JS
Manual
Type safety
Auto-gen TS
None
Config format
YAML
Bitbake

Ready to build
something amazing?

Install Strux and go from zero to a running kiosk OS in under ten minutes.

docs coming soon

# Install via Homebrew

$ brew tap strux-dev/strux

$ brew install strux

✓ strux v0.0.19 installed