From 24b2283b318fb0e68342e77c13ab220f77db4de1 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Tue, 28 Jul 2026 08:17:31 +0200 Subject: bootstrap: git.sh und git.ps1 hinzugefuegt (git + delta), Doku angepasst --- bootstrap/git.sh | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 bootstrap/git.sh (limited to 'bootstrap') diff --git a/bootstrap/git.sh b/bootstrap/git.sh new file mode 100755 index 0000000..36d7067 --- /dev/null +++ b/bootstrap/git.sh @@ -0,0 +1,78 @@ +#!/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 "$@" -- cgit v1.3