#!/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