One script that turns a stock Arch ISO into a headless, key-only-SSH Arch server installer ISO (OMATERM + Once ready).
Brings the first-login server setup back to fully working on a fresh install: - OMATERM: call install-native.sh directly. omaterm.org/install is now an interactive native/docker dispatcher that would stall the unattended first-run; the native branch is what a headless Arch box wants. Verified the closing `exec bash -l` and bundled AI agents (mise.packages) still hold. - Rebrand the user-facing "OMATERM + Once" headline to "omalocal" (banner, setup prompt, closing reboot message); body still names the installed tools. - Fix tmux "can't use /dev/tty" on first login. OMATERM's installer closes with `exec bash -l </dev/tty >/dev/tty 2>&1`; with fds on /dev/tty, tmux's client ttyname is the literal "/dev/tty", which tmux's server_client_open refuses. Strip that redirect from the downloaded installer and run it without redirecting our stdin, so the closing shell inherits the login pts (/dev/pts/N) — which tmux accepts. (script(1) did not work: OMATERM re-redirects to /dev/tty after it.) - Fix Once not installing. Once installs before OMATERM (which used to provide Docker); Once requires Docker and can't install it on Arch (get.docker.com is unsupported there). Provision Docker in base: pacstrap docker, enable docker.service in the chroot, and add the install user to the docker group at install time, so the first-run Once install finds a running daemon and once/once-add need no sudo. OMATERM's later docker setup no-ops. - gitignore dated build-*.log files. Full chain confirmed working on a clean install: Welcome to omalocal -> Once installs -> Omarchy-Send (optional) -> OMATERM -> lands in tmux. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .gitignore | ||
| omalocal.sh | ||