No description
- Shell 100%
| .scratch/bootstrap | ||
| assets/wallpapers | ||
| deploy | ||
| docs | ||
| lib | ||
| modules | ||
| packages | ||
| stow | ||
| tests | ||
| .gitignore | ||
| AGENTS.md | ||
| bootstrap.sh | ||
| check.sh | ||
| CONTEXT.md | ||
| install.sh | ||
| README.md | ||
bens-arch
Persönlicher, idempotenter Bootstrap für Arch Linux inklusive Hyprland-Rice (MamaBaer Dark). Ein Befehl vom Live-ISO bis zum fertigen System.
Einstieg
Zielbild —
archinstall.jsonentsteht mit Ticket 05; der Vollauto-Flow funktioniert erst ab dann End-to-End.
Vom Arch Live-ISO:
archinstall --config-url https://my.linux.town/archinstall.json
Das Profil installiert die Basis (LUKS2 + btrfs + Snapper, systemd-boot/UKI) und startet danach automatisch den Bootstrap. Auf einem bestehenden System:
curl -fsSL https://my.linux.town/install.sh | bash
Der Bootstrap ist idempotent und kann beliebig oft wiederholt werden.
Voraussetzungen
- Arch Linux (frisch installiert oder Live-ISO für den Vollauto-Flow)
- Netzwerk
- Secrets (SSH, GPG, pass-Store) kommen nicht aus dem Repo — Restore aus dem Offline-Backup; der Bootstrap prüft und bricht mit Anleitung ab, wenn sie fehlen.
Struktur
| Pfad | Inhalt |
|---|---|
install.sh |
dünner Einstiegspunkt (curl-tauglich), klont/aktualisiert das Repo |
bootstrap.sh |
Orchestrator: führt Module aus (--only <modul>, --list) |
modules/ |
Bootstrap-Module, einzeln ausführbar, idempotent |
lib/ |
gemeinsame Bash-Helfer (Logging, Error-Handling) |
packages/ |
deklarative Paketlisten (*.pacman, *.aur) |
stow/ |
Stow-Pakete (Dotfiles, gespiegelt nach $HOME) |
assets/ |
Wallpapers u.ä. |
tests/ |
VM-Test (QEMU) + bats-Unit-Tests |
deploy/ |
nginx vhost für my.linux.town |
docs/adr/ |
Architektur-Entscheidungen |
Modul-Vertrag
Jedes Modul in modules/ ist idempotent, startet mit set -euo pipefail, nutzt nur Helfer aus lib/ und deklariert Pakete über Listen in packages/ statt inline zu installieren.
Projekt-Doku
CONTEXT.md— Glossar der Projekt-Sprache (Bootstrap, Rice, Modul, Stow-Paket, MamaBaer Dark)AGENTS.md+docs/agents/— Konventionen für Agenten (Issue-Tracker unter.scratch/).scratch/bootstrap/spec.md— die Spec dieses Vorhabens