#!/usr/bin/env bash # Created by John A. Hoeven with the ethical assistance of Claude AI # --------------------------------------------------------------------------- # main.sh # /home/john/projects/suse-professional-package-installer/main.sh # Version: v0.1.0 | Status: DEVELOPMENT # --------------------------------------------------------------------------- # Purpose: Orchestrator — installs zypper packages from an external, # hand-edited package list instead of a one-off script per # project. Add new package-list-driven subscripts under lib/ as # new package managers are needed (kept fully separate per # subscript — never combined, see spec/main_spec.md). # Target: SUSE family (zypper). Common orchestrator, distro-specific # subscripts. # Entry: ./main.sh [package-list-file] # Depends: lib/ce-common.sh, lib/00_preflight.sh, lib/10_zypper-packages.sh # --------------------------------------------------------------------------- # Orchestrator: exempt from the 100-line subscript boundary (argument # parsing and subscript dispatch legitimately require it) — see # ceos_script_architecture.md. # --------------------------------------------------------------------------- set -euo pipefail _SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" usage() { cat <