#!/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' # Disable colors if output is not a terminal 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}" ########################## # 4. Desktop Environment installation ########################## color_yellow echo "Installing KDE Plasma..." color_reset # Detect if KDE Plasma and SDDM are installed and install if needed if [[ -z "$DDE" ]]; then color_cyan echo echo "No Desktop Environment detected. Installing KDE Plasma (light setup with SDDM)..." color_reset sudo apt update sudo apt install -y --no-install-recommends sddm \ plasma-desktop dolphin konsole kate \ plasma-nm plasma-workspace kde-config-gtk-style \ kde-config-sddm plasma-discover plasma-discover-common \ plasma-discover-backend-snap plasma-discover-backend-flatpak \ plasma-discover-backend-fwupd kscreen # Enable SDDM as the display manager sudo systemctl enable sddm sudo systemctl set-default graphical.target # Rebuild Discover cache kbuildsycoca6 color_green echo echo "KDE Plasma with SDDM installed successfully." echo "You can reboot now to start KDE Plasma." color_reset else color_cyan echo echo "You already have $DE installed." color_reset # Check if LightDM is installed and active 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 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 ########################## # Define packages to remove (example) 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 # Optional double-check if ! is_package_installed "$package"; then echo "$package successfully removed." else echo "$package is still installed. Check manually." fi echo "----------------------------" done ########################## # Network cleanup ########################## sudo mv /etc/network/interfaces /etc/network/interfaces.bak sudo systemctl restart NetworkManager # Remove leftover dependencies sudo apt-get autoremove -y