This guide covers building TUIOS from source, including both the mainDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Gaurav-Gosain/tuios/llms.txt
Use this file to discover all available pages before exploring further.
tuios binary and the tuios-web web terminal server.
Prerequisites
Required
- Go 1.25+ - TUIOS uses Go 1.25.0 or later
- Git - For cloning the repository
- A terminal with true color support - Most modern terminals work
Optional
- Docker - For containerized builds
- Nix - For Nix-based development
Clone the Repository
Clone the TUIOS repository from GitHub:Building TUIOS
Build the Main Binary
Build thetuios terminal window manager:
Build tuios-web
Build thetuios-web web terminal server (separate binary for security isolation):
Build Both Binaries
Build both binaries at once:Install to GOPATH
Install binaries to$GOPATH/bin (or $GOBIN):
$GOPATH/bin is in your PATH to run the commands directly:
Development Builds
Run Without Building
Run directly withgo run:
Build with Debug Symbols
Build with full debug information:Build with Race Detection
Build with race detector (slower but catches race conditions):Development with Nix
TUIOS includes Nix flake support for reproducible builds.Enter Development Shell
The development shell includes Go, dependencies, and development tools:Build with Nix
Build the package using Nix:./result/bin/tuios.
Run Directly
Run TUIOS without building:Run from GitHub
Run the latest version directly from GitHub:Docker Build
Build Docker Image
Build the TUIOS Docker image:Run in Container
Run TUIOS in an interactive container:Use Official Image
Use the pre-built image from GitHub Container Registry:Build Options and Flags
Optimization Levels
Static Linking
Build a fully static binary (useful for containers):Cross-Compilation
Build for different platforms:Dependencies
Install Dependencies
Go modules handle dependencies automatically. Download all dependencies:Update Dependencies
Update all dependencies to latest versions:Vendor Dependencies
Copy dependencies intovendor/ directory:
Key Dependencies
TUIOS is built on the Charm stack:- Bubble Tea v2 - Event-driven TUI framework
- Lipgloss v2 - Terminal styling
- Wish v2 - SSH server
- xpty - Cross-platform PTY interface
- Ultraviolet - Terminal emulation
- Cobra - CLI command framework
As of December 2025, Charm packages migrated from
github.com/charmbracelet/* to charm.land/* module paths.Build Troubleshooting
Go Version Too Old
If you see version errors:Missing Dependencies
If imports fail, download dependencies:Build Cache Issues
Clear the build cache if you encounter strange errors:Platform-Specific Issues
Linux: Ensure you have basic build tools:Verifying the Build
Check that the binary works:Next Steps
After building TUIOS:- Testing Guide - Run tests and add new ones
- Contributing Guide - Submit changes upstream
- Architecture Guide - Understand the codebase structure