#!/bin/bash set -euo pipefail ########################## # Color helpers (printf-safe, 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 say_red() { printf "\n"; printf "%b%s%b\n" "$RED" "$*" "$RESET"; } say_green() { printf "\n"; printf "%b%s%b\n" "$GREEN" "$*" "$RESET"; } say_yellow() { printf "\n"; printf "%b%s%b\n" "$YELLOW" "$*" "$RESET"; } say_cyan() { printf "\n"; printf "%b%s%b\n" "$CYAN" "$*" "$RESET"; } say_gray() { printf "\n"; printf "%b%s%b\n" "$GRAY" "$*" "$RESET"; } say_bold() { printf "\n"; printf "%b%s%b\n" "$BOLD" "$*" "$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}" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ########################## # Helper functions ########################## install_packages() { sudo dnf install -y "$@"; } is_package_installed() { rpm -q "$@" &>/dev/null; } say_yellow "Starting Workstation setup..." # Run full first bash "$SCRIPT_DIR/fedora-full.sh" # Add extra packages install_packages git libreoffice # gitahead-git # editors install_packages konsole # temp removed packages: # sublime-text-4 vscodium flatpak install -y flathub com.vscodium.codium #internet # install_packages # temp removed packages # google-chrome discord firefox insync brave-bin #theming # variety #media install_packages mpv # temp removed packages # vlc gimp inkscape spotify lollypop mpv-full mpv-git flameshot-git #shells install_packages zsh zsh-syntax-highlighting # temp removed packages # fish oh-my-zsh-git zsh-completions #system-tools install_packages @development-tools git curl wget cmake ninja-build pkgconf-pkg-config #tools install_packages system-config-printer system-config-printer-applet system-config-printer-libs ripgrep meld btop htop hwinfo lshw # temp removed packages # wttr # End of script say_green "Workstation setup completed." ###### TODO ### autostart flameshot tray icon ### autostart insync tray icon