#!/usr/bin/env bash ################################################################################ # Homelab Collection Convenience Wrapper # Purpose: Easy-to-use wrapper that loads settings from .env file ################################################################################ set -euo pipefail # Color codes GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' RED='\033[0;31m' BOLD='\033[1m' NC='\033[0m' # Script directory SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Load .env file if it exists if [[ -f "${SCRIPT_DIR}/.env" ]]; then echo -e "${BLUE}[INFO]${NC} Loading configuration from .env file..." # shellcheck disable=SC1091 source "${SCRIPT_DIR}/.env" else echo -e "${YELLOW}[WARN]${NC} No .env file found. Using defaults and command-line arguments." echo -e "${YELLOW}[WARN]${NC} Copy .env.example to .env and customize for your environment." echo "" fi # Set defaults if not in .env PROXMOX_HOST="${PROXMOX_HOST:-}" PROXMOX_SSH_USER="${PROXMOX_SSH_USER:-root}" PROXMOX_SSH_PORT="${PROXMOX_SSH_PORT:-22}" COLLECTION_LEVEL="${COLLECTION_LEVEL:-standard}" OUTPUT_DIR="${OUTPUT_DIR:-./exports}" KEEP_REMOTE="${KEEP_REMOTE:-false}" VERBOSE="${VERBOSE:-false}" # Allow command-line override SANITIZE_ARG="" usage() { cat <