#!/bin/bash fg_black="$(tput setaf 0)" fg_red="$(tput setaf 1)" fg_green="$(tput setaf 2)" fg_yellow="$(tput setaf 3)" fg_blue="$(tput setaf 4)" fg_magenta="$(tput setaf 5)" fg_cyan="$(tput setaf 6)" fg_white="$(tput setaf 7)" reset="$(tput sgr0)" scriptdir=$PWD # colored text cecho() { local text="$1" local color="$2" # Ensure the color variable exists and is valid if [[ -z "$color" || -z "${!color}" ]]; then echo "Error: Invalid color variable" return 1 fi local fg_color="${!color}" # Print the colored string echo -e "${fg_color}${text}${reset}" } confirm() { # call with a prompt string or use a default read -r -p "${fg_yellow}${1:-Are you sure? [y/N]}${reset} " response case "$response" in [yY][eE][sS]|[yY]) true ;; *) false ;; esac } check_dir_exists() { dir=$1 if [ -d dir ]; then return 1 # Dir exists else return 0 # Dir does not exist fi } is_macbook=false is_server=true install_themes=false install_nerdfonts=false install_neovim=false install_dotfiles=false install_gnome_configs=false include_debian_backports=false echo "${fg_blue}" cat ascii.txt echo "${reset}" cecho "----debian install script-----" fg_cyan confirm "Is this a server? (Y/N)" && is_server=true # confirm "Include debian backports in apt package manager? (Y/N)" && include_debian_backports=true confirm "Swap Left Super & Left Control (Y/N)" && is_macbook=true if $is_server; then echo ":3" else if echo $DESKTOP_SESSION | grep -q "gnome"; then confirm "Install gnome extensions, tweaks, and configs? (Y/N)" && install_gnome_configs=true confirm "Install GTK themes? (Y/N)" && install_themes=true fi fi confirm "Install Nerd Fonts? (Y/N)" && install_nerdfonts=true confirm "Install billypom dotfiles? - includes .bash_aliases file, tmux, kitty, and nvim configs (Y/N)" && install_dotfiles=true confirm "Install Neovim? (Y/N)" && install_neovim=true cecho "Updating package manager" fg_cyan sudo apt update cecho "Purging yucky packages" fg_cyan sudo apt purge nano evolution nautilus cecho "Installing yummy packages" fg_cyan if $is_server; then sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu tldr htop else sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu tldr htop libfuse-dev nemo fi # themes if $is_server; then echo ":3" else if $install_themes; then # user theme directory cecho "Installing themes" fg_cyan mkdir -p ~/.themes bash options/lavanda-gtk-theme.sh bash options/kora-gtk-icons.sh bash options/tokyonight-gtk-theme.sh fi fi if $is_server; then echo ":3" else # wayland specific packages if echo $XDG_SESSION_TYPE | grep -q "wayland"; then cecho "Installing wayland specific packages" fg_cyan sudo apt install -y wl-clipboard fi # gnome specific packages if echo $DESKTOP_SESSION | grep -q "gnome" && $install_gnome_configs; then bash options/gnome-configs.sh fi fi # nerdfonts if $install_nerdfonts; then cecho "Installing nerdfonts" fg_cyan bash options/nerdfonts.sh fi # set default file manager xdg-mime default nemo.desktop inode/directory # install neovim if $install_neovim; then cecho "Installing neovim" fg_cyan bash options/neovim.sh fi # install my dotfiles if $install_dotfiles; then cecho "Installing billypom dotfiles" fg_cyan bash options/dotfiles.sh fi # apt repositories setup # this wont work because of permissions...hmmm # if ! grep -q "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi # # if ! grep -q "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi # if $include_debian_backports; then # if ! grep -q "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi # # if ! grep -q "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi # fi echo "\e[0;32m--- debian install script finished running ---\e[0m"