#!/usr/bin/env bash # === Motivation === # Keep the official installer as the configuration authority. # === Problem Statement === # We need a clean handoff so the installer uses existing mounts without reformatting. # === Scope === # In scope: instructions and guardrails for the user during the installer run. # Out of scope: automated installer configuration. # === Concepts === # Handoff: a pause where the wrapper delegates to the installer. # === Decisions === # Provide clear, minimal guidance to avoid overriding prepared filesystems. # Support only CLI installer flow to keep guidance consistent. # === Alternatives Considered === # Fully scripted installation rejected for this phase. # === Constraints === # The wrapper must not hide or alter installer behavior. # === Open Questions === # Should we provide a checklist or step-by-step guide during the installer handoff? # How do we detect if the installer reformatted filesystems against our intent? # Should we monitor the installer process, or fully delegate control? # === Success Criteria === # The installer completes using the prepared mounts without reformatting. run_installer() { : "${MOUNT_ROOT:?Mount root is required}" : "${ESP_MOUNT:?ESP mount path is required}" if ! findmnt "$MOUNT_ROOT" >/dev/null 2>&1; then die "Mount root not found: $MOUNT_ROOT" fi if ! findmnt "$ESP_MOUNT" >/dev/null 2>&1; then die "ESP mount not found: $ESP_MOUNT" fi log_info "Installer handoff: use the prepared mounts without formatting." log_info "In the installer: choose manual partitioning and only set mountpoints." if [[ "${SKIP_INSTALLER:-0}" -eq 1 ]]; then log_warn "Skipping installer per request." return 0 fi read -r -p "Press Enter to launch void-installer..." _ if command -v void-installer >/dev/null 2>&1; then void-installer else log_warn "void-installer not found. Run it manually in another shell." fi read -r -p "Press Enter once the installer is complete..." _ # Verify critical mounts are still intact after installer if ! findmnt "$MOUNT_ROOT" >/dev/null 2>&1; then die "Root mount disappeared after installer. The installer may have reformatted the filesystem." fi if ! findmnt "$ESP_MOUNT" >/dev/null 2>&1; then die "ESP mount disappeared after installer. The installer may have reformatted the filesystem." fi log_info "Mount verification passed." }