#!/bin/bash scripts_PATH=$(pwd) username=$(whoami) home_PATH=/home/$username echo -e "\n\n\n\n" echo "" echo "====================" echo " Arch Desktop Setup " echo "====================" echo "" while true; do read -p "Enter a dotfiles repository (enter to skip): " repo if [[ ! -z $repo ]]; then if [[ ! -f /bin/git ]]; then echo "Authentication Is Required. Enter $username's password" echo "sudo pacman -S --noconfirm --needed git" echo "" fi if [[ ! -d $home_PATH/Repos ]]; then echo "mkdir $home_PATH/Repos" fi echo "git clone $repo $home_PATH/Repos/dotfiles" if [[ $? == 0 ]]; then for file in $home_PATH/Repos/dotfiles/*; do echo "ln -s $file $home_PATH/.config/" done break else echo -e "\n\n\n" while true; do read -p "Could not find repository. Try again? (y/n): " response if [[ "${response,,}" == "y" ]]; then redo="${response,,}" break elif [[ "${response,,}" == "n" ]]; then redo="${response,,}" break else echo "Invalid Response (y/n)" fi done if [[ $redo == "n" ]]; then break fi fi else break fi done echo -e "\n\n\n\n" echo "" echo "==================" echo " Install Packages " echo "==================" echo "" echo "sudo pacman -S --noconfirm --needed base-devel" while IFS= read -r line ; do echo "sudo pacman -S --noconfirm --needed $line" done < $scripts_PATH/arch-assets/archpkg.txt echo -e "\n\n\n\n" echo "" echo "==================" echo " Setup Essentials " echo "==================" echo "" # Setup Firewall echo "Setup UFW" echo "" echo "sudo ufw default deny incoming" echo "sudo ufw default allow outgoing" # Allow SSH on Default port echo "sudo ufw allow 22" # Allow SSH on Alternate Port echo "" read -p "Would you like to set an alternate SSH port? (Empty to skip) " sshPort if [[ ! -z $sshPort && $sshPort =~ ^[0-9]+$ ]]; then echo "sudo ufw allow $sshPort" fi echo "systemctl enable ufw" # Setup Printer echo "systemctl enable cups" echo "systemctl start cups" # Setup Yay while true;do read -p "Do you want to install yay? (y/n) " answer if [[ "${answer,,}" == "y" ]]; then if [[ ! -d $home_PATH/Software ]]; then echo "mkdir $home_PATH/Software" fi echo "git clone https://aur.archlinux.org/yay.git $home_PATH/Software/yay && cd $home_PATH/Software/yay && makepkg -si --noconfirm --needed && cd" break elif [[ "${answer,,}" == "n" ]]; then break else echo "Invalid Response (y/n)" fi done echo -e "\n\n\n\n" echo "" echo "==================" echo " Gaming Setup " echo "==================" echo "" while true; do read -p "Do you want to install the Gaming Setup? (y/n) " answer if [[ "${answer,,}" == "y" ]]; then argument="$scripts_PATH/arch-assets/archgamingpkg.txt" bash $scripts_PATH/scripts/archgamingsetup.sh $argument break elif [[ "${answer,,}" == "n" ]]; then break else echo "Invalid Response (y/n)" fi done echo -e "\n\n\n\n" echo "" echo "=================" echo " Game Dev Apps " echo "=================" echo "" while true; do read -p "Do you want to install the Gaming Development Setup? (y/n) " answer if [[ "${answer,,}" == "y" ]]; then argument="$scripts_PATH/arch-assets/archgamedevpkg.txt" bash $scripts_PATH/scripts/archgamedevsetup.sh $argument break elif [[ "${answer,,}" == "n" ]]; then break else echo "Invalid Response (y/n)" fi done