#!/bin/sh set -eu OS="$(uname -s)" die() { printf 'Fehler: %s\n' "$*" >&2 exit 1 } have() { command -v "$1" >/dev/null 2>&1 } check_prerequisites() { case "$OS" in Darwin) if ! have brew; then die "Homebrew ist nicht installiert." fi ;; FreeBSD) if ! have doas; then die "doas ist nicht installiert." fi ;; *) die "Nicht unterstütztes Betriebssystem: $OS" ;; esac } setup_homebrew_env() { case "$OS" in Darwin) export HOMEBREW_NO_AUTO_UPDATE=1 export HOMEBREW_NO_INSTALL_CLEANUP=1 ;; esac } install_pkg() { binary="$1" package="$2" if have "$binary"; then printf "✓ %-32s vorhanden\n" "$binary" return fi printf "→ Installiere %s\n" "$package" case "$OS" in Darwin) brew install "$package" ;; FreeBSD) doas pkg install -y "$package" ;; esac } install_prerequisites() { install_pkg git git install_pkg delta git-delta } main() { check_prerequisites setup_homebrew_env install_prerequisites printf "\nBootstrap abgeschlossen.\n" } main "$@"