#!/bin/bash set -euo pipefail # Colors + logging same as others RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[0;33m' CYAN='\033[0;36m'; GRAY='\033[0;37m'; BOLD='\033[1m'; RESET='\033[0m' [ ! -t 1 ] && RED='' GREEN='' YELLOW='' CYAN='' GRAY='' BOLD='' RESET='' color_yellow() { printf '%b' "$YELLOW"; } color_green() { printf '%b' "$GREEN"; } color_reset() { printf '%b' "$RESET"; } SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" OS="${DETECTED_OS:-debian}" ########################## # Helper functions ########################## install_packages() { sudo apt update; sudo apt install -y --no-install-recommends "$@"; } is_package_installed() { dpkg -s "$1" &>/dev/null; } color_yellow; echo "Starting full setup..."; color_reset # Run minimal first bash "$SCRIPT_DIR/debian-minimal.sh" # Add extra packages install_packages arandr catfish galculator network-manager network-manager-applet network-manager-openvpn numlockx pavucontrol playerctl gparted # Ensure NetworkManager manages all interfaces echo "Setting NetworkManager to manage all interfaces..." sudo cp /etc/network/interfaces /etc/network/interfaces.bak.$(date +%s) sudo tee /etc/network/interfaces > /dev/null <<'EOF' auto lo iface lo inet loopback EOF sudo sed -i 's/^managed=.*/managed=true/' /etc/NetworkManager/NetworkManager.conf || \ echo -e "[ifupdown]\nmanaged=true" | sudo tee -a /etc/NetworkManager/NetworkManager.conf sudo systemctl restart NetworkManager # End of script color_green; echo "Full setup completed."; color_reset