diff --git a/arch-assets/archgamedevpkg.txt b/arch-assets/archgamedevpkg.txt new file mode 100644 index 0000000..7e34c9c --- /dev/null +++ b/arch-assets/archgamedevpkg.txt @@ -0,0 +1,3 @@ +krita +git-lfs + diff --git a/arch-assets/archgamingpkg.txt b/arch-assets/archgamingpkg.txt new file mode 100644 index 0000000..1c3da3f --- /dev/null +++ b/arch-assets/archgamingpkg.txt @@ -0,0 +1,3 @@ +nvidia-utils +lib32-nvidia-utils +ttf-liberation diff --git a/arch-assets/archpkg.txt b/arch-assets/archpkg.txt new file mode 100644 index 0000000..061bba2 --- /dev/null +++ b/arch-assets/archpkg.txt @@ -0,0 +1,31 @@ +base-devel +xclip +rofi +lxappearance +bluez +bluez-utils +bluedevil +feh +nitrogen +dolphin +lf +flameshot +polybar +cups +print-manager +ufw +bat +neovim +fzf +unzip +ripgrep +p7zip +keepassxc +gparted +thunderbird +remmina +gimp +vlc +nextcloud-client +seahorse +python-pip diff --git a/archsetup.sh b/archsetup.sh new file mode 100755 index 0000000..1f212da --- /dev/null +++ b/archsetup.sh @@ -0,0 +1,145 @@ +#!/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/*; 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 < $script_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 + +# 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 diff --git a/scripts/archgamedevsetup.sh b/scripts/archgamedevsetup.sh new file mode 100755 index 0000000..56243c9 --- /dev/null +++ b/scripts/archgamedevsetup.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +while IFS= read -r line ; do + echo "sudo pacman -S --needed $line" +done < $1 + +# Get Blender +while true; do + echo -e "\n\n" + read -p "Please enter the release of blender you want (eg. 4.1): " blender + if [[ ! -z $blender ]]; then + if [[ ! -d /home/$(whoami)/Software ]]; then + "mkdir /home/$(whoami)/Software" + fi + cd "/home/$(whoami)/Software" + count=9 + while [ $count -ge 0 ]; do + echo "wget 'https://download.blender.org/release/Blender$blender/blender-$blender.$count-linux-x64.tar.xz'" + if [[ $? == 0 ]]; then + blenderversion="blender-$blender.$count-linux-x64.tar.xz" + echo "cd /home/$(whoami)/Software/ && tar -xvf $blenderversion" + break + fi + ((count--)) + done + if [[ $? != 0 ]]; then + echo "Couldn't find that version of blender, try again." + cd "" + else + break + fi + fi +done diff --git a/scripts/archgamingsetup.sh b/scripts/archgamingsetup.sh new file mode 100644 index 0000000..b7f4ccd --- /dev/null +++ b/scripts/archgamingsetup.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +while IFS= read -r line ; do + echo "sudo pacman -S --noconfirm --needed $line" +done < $1 +echo "sudo pacman -S --needed steam"