added installer shell script and additional steps

This commit is contained in:
tumillanino
2025-10-28 22:53:15 +11:00
parent 6f1a6f6efa
commit 27ca5a9426
11 changed files with 644 additions and 0 deletions

92
README.md Normal file
View File

@@ -0,0 +1,92 @@
# 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