#!/usr/bin/env bash if [[ -n "${ATLAS_PACKAGES_SH_LOADED:-}" ]]; then return 0 fi ATLAS_PACKAGES_SH_LOADED=1 atlas_package_installed() { local package_name="$1" dpkg-query -W -f='${Status}' "$package_name" 2>/dev/null | grep -q '^install ok installed$' } atlas_package_status() { local package_name="$1" if atlas_package_installed "$package_name"; then printf 'installed\n' else printf 'missing\n' fi } atlas_install_packages() { if [[ "$#" -eq 0 ]]; then atlas_log_warn "No packages requested" return 0 fi if [[ "${ATLAS_DRY_RUN:-0}" == "1" ]]; then atlas_log_info "Dry-run mode: would install packages: $*" return 0 fi atlas_log_info "Installing packages: $*" atlas_sudo_run apt-get install -y "$@" } atlas_pending_update_count() { apt list --upgradable 2>/dev/null | awk 'NR > 1 {count++} END {print count + 0}' } atlas_reboot_required() { [[ -f /var/run/reboot-required ]] }