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:

curl -fsSL https://install.miasma-os.com | sh

Or manually:

# 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

# Build binary
make build

# Build release binary (stripped, static)
make release

# Install to /usr/local/bin
make install

# Run directly
make run

Testing

# 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

Description
No description provided
Readme 4 MiB
2025-10-28 12:06:47 +00:00
Languages
Go 93.5%
Shell 4.9%
Makefile 1.6%