#!/usr/bin/env bash
# apt update + install base packages every other script assumes.
set -euo pipefail
# shellcheck source=./lib.sh
source "$(cd "$(dirname "$0")" && pwd)/lib.sh"
require_debian
require_not_root

log "apt update"
sudo apt-get update -qq

# Minimal set actually consumed by the other scripts:
#   - curl/wget    used by 40-node.sh (nvm install), 50-docker.sh (gpg key)
#                  and the .NET appendix (wget packages-microsoft-prod.deb)
#   - git          every other script that touches the repo
#   - ca-certs     HTTPS over apt + curl/wget
#   - gnupg        verifying the Docker apt repo key
#   - build-essential / pkg-config — native deps during pnpm install
#
# Deliberately NOT installed (deprecated or unused on Debian 13 Trixie):
#   - software-properties-common: drops `add-apt-repository`, which we
#     don't use (50-docker.sh writes /etc/apt/sources.list.d/docker.list
#     manually). Also failing to resolve on a fresh Trixie install.
#   - apt-transport-https: apt has had native HTTPS support since 1.5 (2018),
#     the transitional package isn't needed and is intermittently absent.
#   - lsb-release: shell scripts read /etc/os-release directly (see 50-docker.sh).
apt_install \
  curl wget git ca-certificates gnupg \
  build-essential pkg-config

ok "Base packages ready."
