Styrene TUI

Note: The TUI is a subpackage of styrened (styrened.tui), installed via pipx install styrene. The standalone styrene-tui repo is archived.

The terminal interface for Styrene mesh management. Designed to be comprehensive enough that an operator can manage their entire edge fleet without leaving the terminal.

Design Principles

TUI as OS. The TUI is the single entry point for operators. One install gives you the mesh daemon, provisioning, encrypted messaging, and fleet management. An operator should never need to install NomadNet, MeshChat, or clone styrene-edge.

Delegate to $EDITOR. Styrene handles orchestration and visualization; Neovim, Helix, or whatever the operator prefers handles text editing.

Daemon lifecycle. On operator workstations, the TUI manages styrened as a subprocess — starts it on launch, tears it down on exit. No systemctl enable required. On edge devices where styrened is a systemd service, the TUI connects to the existing daemon via IPC. Same Unix socket contract either way.

IPC only. The TUI does not initialize the RNS singleton directly. It communicates with styrened exclusively via IPC (ControlClient). styrened owns the mesh stack; the TUI renders what the daemon reports.

Screens

ScreenPurpose
DashboardFleet overview — mesh device table, activity feed, node status
ChatEncrypted LXMF conversations with delivery tracking
Device DetailMesh node info, actions (Message, Add Contact, Copy Hash, Pages)
SettingsTabbed: Identity, Network, Fleet, System
ExplorationNon-Styrene RNS announces on the mesh
UpgradeIn-app self-update with changelog and live progress
First-Run WizardInitial setup and daemon connection

Network Settings (7 panels)

PanelPurpose
STYRENE COMMUNITY HUBSingle toggle — controls both transport peer and LXMF propagation
TRANSPORTMode, transport toggle, announce interval
PEERSDynamic add/remove of RNS transport peers
PROPAGATIONLXMF propagation destination hash
LOCAL DISCOVERYAutoInterface toggle
SERVERServer interface (IP/port)
BATMAN-ADV MESHmesh_id, channel, gateway_mode

Theme: Imperial CRT

Green phosphor terminal aesthetic inspired by Specularium and eDEX-UI. Every panel earns its screen space through utility; the theme adds atmosphere without sacrificing function.

RoleColorHex
BrightActive elements, highlights, success#39ff14
MediumStandard text, borders#32cd32
DimSecondary text, inactive elements#228b22
DarkSubtle borders, separators#1a5c1a
BackgroundScreen background (off-black)#0a0a0a
InfoInformation, scanning, network#74c0fc
WarningWarnings, pending states#ffa94d
DangerErrors, offline, destructive actions#ff6b6b

Implementation Status

CapabilityStatus
Imperial CRT themed TUI
Fleet dashboard with live mesh status
Encrypted LXMF chat with delivery tracking
Device detail with actions
Settings (Identity, Network, Fleet, System)
Non-Styrene RNS announce exploration
In-app upgrade with changelog
Community Hub toggle (transport + propagation)
Forge provisioning (USB media prep)✅ (in styrene-edge, absorption in progress)
Device catalog fetch from styrene-edge at runtime⚠️ Not yet — catalog currently bundled
Hub Browser (NomadNet page viewer)⚠️ Not yet
Batch fleet operations (update all, reboot all)⚠️ Not yet
Configuration management and rollback⚠️ Not yet
IPC-only mode (replace direct RNS init)⚠️ Migration in progress

See Also

Graph