Staged installer set for Alpine Linux x86-64 (tinkerpad/ThinkPad T480). Covers Base (Tier 0), Minimal (Tier 1), and Basic (Tier 2) tiers with full phased structure, per-package error capture, and re-runnable test suites. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
1.6 KiB
Bash
38 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
# Created by John A. Hoeven with the ethical assistance of Claude AI
|
|
# ---------------------------------------------------------------------------
|
|
# 03_gui.sh
|
|
# ~/projects/ceos/alpine-installer/lib/basic/03_gui.sh
|
|
# Version: v0.0.1 | Status: DEVELOPMENT
|
|
# Target: Alpine Linux x86-64 (tinkerpad / ThinkPad T480)
|
|
# ---------------------------------------------------------------------------
|
|
# Basic Tier subscript: GUI layer — cagebreak, firefox, xwayland.
|
|
# Supported on x86-64. Boot config modification (/boot/cmdline.txt) is
|
|
# RPi-only and is explicitly skipped on x86-64 hardware.
|
|
# Defines install_basic_gui().
|
|
# ---------------------------------------------------------------------------
|
|
|
|
install_basic_gui() {
|
|
log_info "--- basic/03_gui: GUI layer (Wayland + Firefox) ---"
|
|
log_info "Arch: ${ARCH} — GUI supported on x86-64"
|
|
|
|
local -a PKGS=(cagebreak firefox xwayland)
|
|
for pkg in "${PKGS[@]}"; do
|
|
install_pkg "${pkg}"
|
|
done
|
|
|
|
run_test "cagebreak present" 'command -v cagebreak >/dev/null 2>&1' warn
|
|
run_test "firefox present" 'command -v firefox >/dev/null 2>&1' warn
|
|
|
|
# /boot/cmdline.txt and /boot/extlinux.conf modifications are RPi-only
|
|
log_info "NOTICE: /boot/cmdline.txt modification skipped — not applicable on x86-64 (ThinkPad)"
|
|
}
|
|
|
|
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
SCRIPT_NAME="basic_03_gui"
|
|
source "${SCRIPT_DIR}/lib/ce-common.sh" || { echo "ERROR: ce-common.sh not found"; exit 1; }
|
|
check_not_root
|
|
install_basic_gui
|
|
print_summary
|
|
fi
|