diff --git a/Linux_Toolbox.sh b/Linux_Toolbox.sh old mode 100644 new mode 100755 index 23720bf..e76a3d0 --- a/Linux_Toolbox.sh +++ b/Linux_Toolbox.sh @@ -4,16 +4,17 @@ Argument=$1 + # Update all keyrings, and packages without asking for confirmations for anything (Choose default option each time), and then clear out the local pacman package cache afterwards if [[ $Argument == *"update"* ]]; then paru -Sy archlinux-keyring chaotic-keyring endeavouros-keyring --noconfirm --needed; paru -Syu --noconfirm; echo clearing out $(sudo ls /var/cache/pacman/pkg/ | wc -l) packages in cache; ( echo "y"; echo "y" ) | paru -Scc; echo "Update Complete!" -# https://stackoverflow.com/questions/226703/how-do-i-prompt-for-yes-no-cancel-input-in-a-linux-shell-script -read -p "Do you wish to restart now? Y/N" yn -case $yn in - [Yy]* ) sudo reboot ;; -[Nn]* ) exit;; -esac -exit + # https://stackoverflow.com/questions/226703/how-do-i-prompt-for-yes-no-cancel-input-in-a-linux-shell-script + read -p "Do you wish to restart now? Y/N" yn + case $yn in + [Yy]* ) sudo reboot ;; + [Nn]* ) exit;; + esac + exit fi @@ -27,22 +28,25 @@ yadResults=$(yad \ --field Debloat:chk \ --field paru:chk \ --field htop:chk \ - --field MeshCentral:chk \ - --field librewolf-bin:chk \ - --field brave-bin:chk \ - --field pacseek-bin:chk \ + --field 'Mesh Agent':chk \ + --field librewolf:chk \ + --field brave:chk \ + --field pacseek:chk \ --field docker:chk \ - --field docker-compose:chk \ + --field '-':chk \ --field 'Install pkgs from List':chk \ --field 'Export pkgs to List':chk \ + --field '-':chk \ --field Configuration:LBL \ --field "sudo Timeout:chk" \ --field "Grub Timeout:chk" \ --field Konsave:chk \ - --field Flexo:chk \ --field "Check for Flexo:chk" \ + --field '':chk \ --field "Updater to Desktop:chk" \ --field "Enable SSH:chk" \ + --field '':chk \ + --field "Custom .bashrc:chk" \ --field "Reboot:chk" \ --field '-':LBL \ --field '-':LBL \ @@ -70,13 +74,11 @@ yadResults=$(yad \ + IFS='|' # space is set as delimiter read -ra SECTIONS <<< "$yadResults" # str is read into an array as tokens separated by IFS - - - # echo "first section" # echo "${SECTIONS[0]}" # echo "second:" @@ -85,226 +87,168 @@ read -ra SECTIONS <<< "$yadResults" # str is read into an array as tokens sepa index=0 -for i in "${SECTIONS[@]}"; do # access each element of array +for i in "${SECTIONS[@]}"; do # iterate through each element of array # print the loop index and the value of the yad field - # echo "$index" - # echo "$i" + # echo "$index" # 1, 2, 3, 4 + # echo "$i" # True, False - - if [[ $index -eq 1 ]] -then # DEBLOAT -if [[ $i == *"TRUE"* ]]; then +if [[ $index -eq 1 ]] && [[ $i == *"TRUE"* ]]; then + # Debloat echo "Uninstalling EOS Extras: firewalld eos-update-notifier welcome eos-quickstart" sudo pacman -R firewalld eos-update-notifier welcome eos-quickstart --noconfirm -fi + echo "Disabling eos-welcome" + eos-welcome --disable # disable eos-welcome popup window fi -if [[ $index -eq 2 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Installing paru" - sudo pacman -S paru --noconfirm - fi +if [[ $index -eq 2 ]] && [[ $i == *"TRUE"* ]]; then + echo "Installing paru" + sudo pacman -S paru --noconfirm fi -if [[ $index -eq 3 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Installing htop" - paru -S htop --noconfirm - fi + +if [[ $index -eq 3 ]] && [[ $i == *"TRUE"* ]]; then + echo "Installing htop" + paru -S htop --noconfirm fi -if [[ $index -eq 4 ]] -then - if [[ $i == *"TRUE"* ]]; then - # install meshcentral agent - cd ~/Downloads/ ; wget --no-check-certificate -O meshagent "https://10.0.0.201/meshagents?id=%40FGwJAr%40pZPmGfuvJ1N1IpjOWl4USZc8k8XEE1xI4DEDzuWkJchGQHgbHBwrkuwB&installflags=0&meshinstall=6" ; chmod +x ./meshagent ; sudo ./meshagent -install - # update pacman database and install xorg - echo "Updating pacman cache and installing xorg-xhost" - sudo pacman -Sy ; sudo pacman -S xorg-xhost --noconfirm +if [[ $index -eq 4 ]] && [[ $i == *"TRUE"* ]]; then + # install meshcentral agent + cd ~/Downloads/ ; wget --no-check-certificate -O meshagent "https://10.0.0.201/meshagents?id=%40FGwJAr%40pZPmGfuvJ1N1IpjOWl4USZc8k8XEE1xI4DEDzuWkJchGQHgbHBwrkuwB&installflags=0&meshinstall=6" ; chmod +x ./meshagent ; sudo ./meshagent -install - # set xhost for this session - xhost +local: + # update pacman database and install xorg + echo "Updating pacman cache and installing xorg-xhost" + sudo pacman -Sy ; sudo pacman -S xorg-xhost --noconfirm - # create autostart folder in case it doesn't exist - mkdir ~/.config/autostart - - echo "Adding xhost +local: to startup" - cd ~/.config/autostart ; wget -q -O xhost.desktop https://git.zinchuk.xyz/yuriy/linux-setup-script/raw/branch/main/xhost.desktop - fi + # set xhost for this session + xhost +local: + + # create autostart folder in case it doesn't exist + mkdir ~/.config/autostart + + echo "Adding xhost +local: to startup" + cd ~/.config/autostart ; wget -q -O xhost.desktop https://git.zinchuk.xyz/yuriy/linux-setup-script/raw/branch/main/xhost.desktop fi -if [[ $index -eq 5 ]] -then - if [[ $i == *"TRUE"* ]]; then + +if [[ $index -eq 5 ]] && [[ $i == *"TRUE"* ]]; then echo "Installing LibreWolf" paru -S librewolf-bin --noconfirm - fi fi -if [[ $index -eq 6 ]] -then - if [[ $i == *"TRUE"* ]]; then + +if [[ $index -eq 6 ]] && [[ $i == *"TRUE"* ]]; then echo "installing brave" paru -S brave-bin --noconfirm - fi fi -if [[ $index -eq 7 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "installing pacseek" + +if [[ $index -eq 7 ]] && [[ $i == *"TRUE"* ]]; then + echo "installing pacseek" paru -S pacseek-bin --noconfirm - fi fi -if [[ $index -eq 8 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Installing and enabling Docker" - paru -S docker --noconfirm && sudo systemctl enable docker.service && sudo systemctl enable containerd.service - fi -fi - -if [[ $index -eq 9 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Installing and enabling docker-compose" - paru -S docker-compose --noconfirm - fi +if [[ $index -eq 8 ]] && [[ $i == *"TRUE"* ]]; then + echo "Installing and enabling Docker & Docker Compose" + paru -S docker docker-compose --noconfirm && sudo systemctl enable docker.service && sudo systemctl enable containerd.service fi -if [[ $index -eq 13 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Changing sudo timeout" - echo "Paste the following into the editor:" - echo "Defaults env_reset,timestamp_timeout=30" - sudo visudo - - fi +if [[ $index -eq 9 ]] && [[ $i == *"TRUE"* ]]; then + echo "empty here" fi -if [[ $index -eq 14 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Changing GRUB timeout" - sudo nano /etc/default/grub - sudo grub-mkconfig -o /boot/grub/grub.cfg - fi +if [[ $index -eq 14 ]] && [[ $i == *"TRUE"* ]]; then + echo "Changing sudo timeout" + echo "Paste the following into the editor:" + konsole --hold -e echo "Defaults env_reset,timestamp_timeout=30" ; sudo visudo + # echo "Defaults env_reset,timestamp_timeout=30" + # sudo visudo fi -if [[ $index -eq 15 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Installing Konsave and Importing Profile to terminal user" - paru -S konsave --noconfirm - cd ~/Downloads/ ; wget -q -O KonsaveTMPLT.knsv http://git.wmpco.biz/yuriy/Linux-Toolbox/raw/branch/main/KonsaveTMPLT.knsv - # smbget smb://smb/Toolbox/Installs/Linux/KonsaveTMPLT.knsv -a +if [[ $index -eq 15 ]] && [[ $i == *"TRUE"* ]]; then + echo "Changing GRUB timeout" + sudo nano /etc/default/grub + sudo grub-mkconfig -o /boot/grub/grub.cfg +fi - #konsave -i $PWD/KonsaveTMPLT.knsv -f + +if [[ $index -eq 16 ]] && [[ $i == *"TRUE"* ]]; then + echo "Installing Konsave" + pacman -Sy ; paru -S konsave --noconfirm + + echo "Downloading Konsave Profile from Gitea" + cd ~/Downloads/ ; wget -q -O KonsaveTMPLT.knsv https://git.zinchuk.xyz/yuriy/linux-setup-script/raw/branch/main/KonsaveTMPLT.knsv + + echo "Importing Konsave Profile" konsave -i ~/Downloads/KonsaveTMPLT.knsv -f # import template konsave -a KonsaveTMPLT # activate template + echo "Uninstalling Konsave" paru -R konsave --noconfirm # uninstall konsave - # reboot -fi fi -if [[ $index -eq 16 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Adding Flexo to mirrorlist" - echo 'Server = http://10.0.0.101:7878/$repo/os/$arch' | sudo tee -a /etc/pacman.d/mirrorlist - fi -fi -if [[ $index -eq 17 ]] -then - if [[ $i == *"TRUE"* ]]; then - file="/etc/pacman.d/mirrorlist" - string="http://10.0.0.101:7878" +if [[ $index -eq 17 ]] && [[ $i == *"TRUE"* ]]; then + file="/etc/pacman.d/mirrorlist" + string="http://10.0.0.108:7878" - if grep -q "$string" "$file"; then - echo "Flexo is in the mirrorlist. :)" - else - echo "FLEXO IP $string is not found in the mirrorlist file. Please consider adding it for faster updates." - fi + if grep -q "$string" "$file"; then + echo "Flexo is in the mirrorlist. :)" + else + echo "FLEXO IP $string is not found in the mirrorlist file. Adding it." + echo 'Server = http://10.0.0.108:7878/$repo/os/$arch' | sudo tee -a /etc/pacman.d/mirrorlist fi fi -if [[ $index -eq 18 ]] -then - if [[ $i == *"TRUE"* ]]; then - - echo "Adding Update Arch shortcut to desktop" - cd ~/Desktop/ ; wget -q -O Update_Arch.sh http://git.wmpco.biz/yuriy/Linux-Toolbox/raw/branch/main/Update_Arch_Linux.sh ; chmod +x Update_Arch.sh - - fi -fi -if [[ $index -eq 19 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Enabling SSH Access" - sudo systemctl enable sshd.service && sudo systemctl start sshd.service - fi -fi - - -if [[ $index -eq 20 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "Rebooting System" - reboot - fi -fi - -if [[ $index -eq 21 ]] -then - if [[ $i == *"TRUE"* ]]; then - echo "TEMPLATE" - fi +if [[ $index -eq 19 ]] && [[ $i == *"TRUE"* ]]; then + echo "Adding Update Arch shortcut to desktop" + cd ~/Desktop/ ; wget -q -O Update_Arch.sh https://git.zinchuk.xyz/yuriy/linux-setup-script/raw/branch/main/Update_Arch_Linux.sh ; chmod +x Update_Arch.sh fi +if [[ $index -eq 20 ]] && [[ $i == *"TRUE"* ]]; then + echo "Enabling SSH Access" + sudo systemctl enable sshd.service && sudo systemctl start sshd.service +fi + + +if [[ $index -eq 21 ]] && [[ $i == *"TRUE"* ]]; then + echo "Nothing Here" +fi + + +if [[ $index -eq 22 ]] && [[ $i == *"TRUE"* ]]; then + echo "Custom Bashrc" + echo "Downloading and replacing .bashrc file" + + cd ~/ && wget -q -O .bashrc https://git.zinchuk.xyz/yuriy/Linux-bashrc-Profile/raw/branch/main/.bashrc && chmod 744 .bashrc +fi + + +if [[ $index -eq 23 ]] && [[ $i == *"TRUE"* ]]; then + echo "Rebooting System" + reboot +fi + + +#if [[ $index -eq NUMBER ]] && [[ $i == *"TRUE"* ]]; then +# +#fi ((index++)) # Add 1 to count done - - -#items=`yad --list --separator='' --height=600 --multiple --column="Items" item1 item2 item3` - - -#echo $items - -# for item in $SECTIONS; do -# echo "$item" -# done - - - -#yad --title="Desktop entry editor" --text="Simple desktop entry editor" \ -#--form --field="Type:CB" --field="Name" --field="Generic name" \ -#--field="Comment" --field="Command:FL" --field="Icon" \ -#--field="In termianl:CHK" --field="Startup notify:CHK" \ -#"Application!URI" "Name" "Generic name" "This is the comment" \ -#"/usr/bin/yad" "yad" FALSE TRUE - -