#!/bin/bash set -euo pipefail ########################## # Color helpers (no tput) ########################## 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' if [ ! -t 1 ]; then RED='' GREEN='' YELLOW='' CYAN='' GRAY='' BOLD='' RESET='' fi color_red() { printf '%b' "$RED"; } color_green() { printf '%b' "$GREEN"; } color_yellow() { printf '%b' "$YELLOW"; } color_cyan() { printf '%b' "$CYAN"; } color_gray() { printf '%b' "$GRAY"; } color_reset() { printf '%b' "$RESET"; } ########################## # Use exported variables from main detection script ########################## OS="${DETECTED_OS}" DDE="${DETECTED_DE}" DE="${SELECTED_DE:-none}" TWM="${SELECTED_TWM:-none}" INSTALL_LEVEL="${INSTALL_LEVEL:-minimal}" ########################## # Desktop Environment installation ########################## color_yellow echo "Installing Gnome..." color_reset if [[ -z "$DDE" ]]; then color_cyan echo echo "No Desktop Environment detected. Installing Gnome (light setup with SDDM)..." color_reset sudo apt update sudo apt install -y --no-install-recommends sddm \ gnome-shell \ gnome-terminal \ nautilus \ gnome-control-center \ gnome-system-monitor \ gnome-settings-daemon \ gnome-tweaks \ network-manager-gnome \ gnome-keyring \ gnome-session # Enable SDDM as the display manager sudo systemctl enable sddm # Enable graphical target sudo systemctl set-default graphical.target color_green echo echo "Gnome with SDDM installed successfully." echo "You can reboot now to start Gnome." color_reset else color_cyan echo echo "You already have $DE installed." color_reset if systemctl is-active --quiet lightdm; then color_yellow echo echo "LightDM is currently active. Replacing with SDDM..." color_reset # Disable and remove LightDM sudo systemctl disable lightdm sudo apt purge -y lightdm lightdm-gtk-greeter # Install and enable SDDM sudo apt install -y sddm sudo systemctl enable sddm # Enable graphical target sudo systemctl set-default graphical.target color_green echo echo "LightDM removed and replaced with SDDM." color_reset else color_cyan echo echo "No LightDM detected, leaving current display manager unchanged." color_reset fi fi ########################## # Cleanup unwanted packages ########################## # packages=("vim" "vim-runtime" "vim-common" "vim-tiny" "mousepad" "parole") is_package_installed() { dpkg -s "$1" &> /dev/null; } for package in "${packages[@]:-}"; do if is_package_installed "$package"; then echo "Removing $package..." sudo apt-get purge -y "$package" else echo "$package is not installed, skipping." fi if ! is_package_installed "$package"; then echo "$package successfully removed." else echo "$package is still installed. Check manually." fi echo "----------------------------" done # Resolving network issues sudo mv /etc/network/interfaces /etc/network/interfaces.bak || true sudo systemctl restart NetworkManager # Remove leftover dependencies sudo apt-get autoremove -y