#!/bin/bash #{{{### Pre-Setup ### # User Identification username=$(whoami) if [[ $username == "root" ]]; then echo "Do not run this script as root" exit 2 fi # Verify Home Directory home_dir=/home/$username if [[ ! -d /home/$username ]]; then echo "Error: No valid home directory for $username" exit 2 fi # System Identification if [[ -d /etc/apt/ ]]; then system=Debian echo "System Identified: $system" elif [[ ! -z $(which pacman) ]]; then system=Arch echo "System Identified: $system" else echo "System could not Identified" exit 2 fi script_path="$(pwd)/scripts" # Window Manager Selection if [[ $system == "Debian" ]]; then echo -ne " Window Manager Selection: " printf %"s\n" "1) i3wm" printf %"s\n\n" "2) AwesomeWM" while true; do read -p "Enter your Selection (1-2): " answer case $answer in 1) windowmanager=i3wm && displayserver=xorg && break;; 2) windowmanager=awesomewm && displayserver=xorg && break;; *) echo "invalid option";; esac done fi if [[ $system == "Arch" ]]; then echo -ne " Window Manager Selection: " printf %"s\n" "1) i3wm" printf %"s\n" "2) AwesomeWM" printf %"s\n\n" "3) Hyprland" while true; do read -p "Enter your Selection (1-3): " answer case $answer in 1) windowmanager=i3wm && displayserver=xorg && break;; 2) windowmanager=awesomewm && displayserver=xorg && break;; 3) windowmanager=hyprland && displayserver=wayland && break;; *) echo "invalid option";; esac done fi # GPU Driver Identification echo -ne " GPU Drivers Selection: " printf %"s\n" "1) Virtual Machine" #printf %"s\n" "1) Integrated Intel Graphics" #printf %"s\n" "2) Integrated AMD Graphics" printf %"s\n\n" "2) Nvidia GPU" #printf %"s\n" "5) AMD GPU" #printf %"s\n\n" "6) Intel GPU" while true; do read -p "Enter your Selection (1-2): " answer case $answer in 1) gpu=vm && break;; 2) gpu=nvidia && break;; *) echo "invalid option";; esac done # Select Audio Server echo -ne " Audio Drivers Selection: " printf %"s\n" "1) Pipewire" printf %"s\n\n" "2) PulseAudioGPU" while true; do read -p "Enter your Selection (1-2): " answer case $answer in 1) audioserver=pipewire && break;; 1) audioserver=pulseaudio && break;; *) echo "invalid option";; esac done echo -e " " #}}} #{{{### Sudo Setup ### echo -e "Sudo Setup Enter your Root Accout Password:" su - -c "bash $script_path/system-setup/sudo-setup.sh $system $username" if [[ $? != 0 ]]; then exit 2 fi echo -e " " #}}} #{{{### System Setup ### echo -e "System Setup Enter $username's Password:" sudo bash "$script_path/system-setup/git-setup.sh" $system if [[ $? != 0 ]]; then exit 2 fi sudo bash "$script_path/system-setup/gpu-setup.sh" $system $gpu $server sudo bash "$script_path/system-setup/audio-setup.sh" $system $audioserver sudo bash "$script_path/system-setup/ufw-setup.sh" $system bash "$script_path/system-setup/dotfiles-setup.sh" $username bash "$script_path/system-setup/neovim-setup.sh" $system $username echo " System Setup Done " #}}} # {{{### Desktop Environment Setup ### # }}}