# Miasma OS Installer Opinionated Arch Linux installer built with Go and Bubble Tea TUI framework. ## Features - **Filesystem**: btrfs with optimized subvolume layout - **Desktop**: Cosmic Desktop - **Kernel**: linux-hardened - **Encryption**: LUKS2 by default (optional) - **Boot**: UEFI only (systemd-boot) - **Future**: Secure Boot support planned ## Quick Install Boot into Arch Linux installation media and run: ```bash curl -fsSL https://install.miasma-os.com | sh ``` Or manually: ```bash # Download and run installer curl -fsSL https://github.com/miasma-os/miasma-installer/releases/latest/download/miasma-installer -o miasma-installer chmod +x miasma-installer sudo ./miasma-installer ``` ## Development ### Prerequisites - Go 1.25.2 or later - Arch Linux (for testing) ### Building ```bash # Build binary make build # Build release binary (stripped, static) make release # Install to /usr/local/bin make install # Run directly make run ``` ### Testing ```bash # Run all tests make test # Format code make fmt # Lint make vet ``` ## Project Structure ``` . ├── config/ # Installation configuration and archinstall JSON generation ├── scripts/ # Post-install shell scripts ├── tui/ │ ├── model.go # Root state machine │ ├── steps/ # Installation step models │ └── styles/ # Shared UI styles ├── install.sh # Bootstrap script for curl | sh installation └── main.go # Entry point ``` ## Post-Install Scripts Custom shell scripts in `scripts/` run after archinstall completes: - `01-cosmic-setup.sh` - Cosmic Desktop configuration - `02-hardening.sh` - System hardening tweaks Scripts execute in alphabetical order. ## License MIT