94 lines
1.8 KiB
Markdown
94 lines
1.8 KiB
Markdown
# Miasma OS Installer
|
|
|
|
Opinionated Arch Linux installer built with Go and Bubble Tea TUI framework.
|
|
This is still in very early development and not yet ready to use, if you happen to stumble across this page.
|
|
|
|
## 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://git.miasma-os.com/miasma/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
|