summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbel Tim <git@abeltim.com>2025-05-31 11:09:13 +0200
committerAbel Tim <git@abeltim.com>2025-05-31 11:09:13 +0200
commit2873ba15e2a480bdaf3711f0111b0fd4550c4533 (patch)
tree522933a9d71b5db212b2ed00a4bb53e6423be946
parentdd6fd415cf7d16c20d4161d454add890b18c8530 (diff)
downloadrobotica-2873ba15e2a480bdaf3711f0111b0fd4550c4533.tar.gz
robotica-2873ba15e2a480bdaf3711f0111b0fd4550c4533.zip
Setup.sh completed, need to test.
Signed-off-by: Abel Tim <git@abeltim.com>
-rw-r--r--setup/setupscr.sh200
1 files changed, 170 insertions, 30 deletions
diff --git a/setup/setupscr.sh b/setup/setupscr.sh
index 860265d..16f72de 100644
--- a/setup/setupscr.sh
+++ b/setup/setupscr.sh
@@ -41,9 +41,87 @@ else
useradd $user
fi
echo 'You will now need to select what this script should configure.'
-read -p 'Do you want to install a desktop enviorment(grapical display support)?' DE
-read -p 'Do you want to install arduino IDE version one and two?' ard
-read -p 'Do you want to install and configure git?' git
+while true; do
+ read -p 'Do you want to install a desktop enviorment(grapical display support)?' DE
+ case $DE in
+ Y*|y*)
+ break
+ ;;
+ n*|N*)
+ break
+ ;;
+ *)
+ echo "Did not recognize input please retry"
+ ;;
+ esac
+
+done
+while true; do
+ read -p 'Do you want to install arduino IDE version one and two?' ard
+ case $ard in
+ Y*|y*)
+ break
+ ;;
+ n*|N*)
+ break
+ ;;
+ *)
+ echo "Did not recognize input please retry"
+ ;;
+ esac
+done
+while true; do
+ read -p 'Do you want to install openMV IDE' omv
+ case $omv in
+ Y*|y*)
+ break
+ ;;
+ n*|N*)
+ break
+ ;;
+ *)
+ echo "Did not recognize input please retry"
+ ;;
+ esac
+done
+while true; do
+ read -p 'Do you want to install and configure git? [Y]es [N]o' git
+ case $git in
+ Y*|y*)
+ read -p 'Please enter location of the secret file (secrets.tar.gz.gpg)' secloc
+ if [ -f $secloc ]; then
+ echo "File found!"
+ break
+ fi
+ echo "File $secloc not found!"
+ read -p "Is the file on an external drive?" inp4
+ case $inp4 in
+ Y*|y*)
+ fdisk -l
+ read -p "Please enter the drive where the secrets are located.[/dev/sdXN](where x is an letter and N an number)" drv
+ mkdir /mnt/secdrive
+ mount $drv /mnt/secdrive
+ echo "The external drive is now mounted at /mnt/secdrive, please cd into it and locate where the secrets.tar.gz.gpg file is located. After this you can rerun the script."
+ exit
+ ;;
+ n*|N*)
+ echo "In that case i can not help you."
+ read -p "Do you still wich to configure git? [Y]es [N]o" git
+ ;;
+ *)
+ echo "Did not recognize input please retry"
+ ;;
+ esac
+ ;;
+ n*|N*)
+ break
+ ;;
+ *)
+ echo "Did not recognize input please retry"
+ ;;
+ esac
+
+done
while true; do
read -p 'Do you want to clone the robosoccer git repository? [Y]es or [N]o' gitrep
case $gitrep in
@@ -116,39 +194,101 @@ while true; do
done
#setup DE
-apt install xfce4-goodies xfce4 lightdm xscreensaver xscreensaver-data xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra xscreensaver-screensaver-bsod xscreensaver-screensaver-dizzy xscreensaver-screensaver-webcollage supertuxkart -y
-wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/xscreensaver.desktop -O /etc/xdg/autostart/xscreensaver.desktop
-apt remove gnome-screensaver
-wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/.xscreensaver -O "/home/$user/.xscreensaver"
-
+case $DE in
+ Y*|y*)
+ apt install xfce4-goodies xfce4 lightdm xscreensaver xscreensaver-data xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra xscreensaver-screensaver-bsod xscreensaver-screensaver-dizzy xscreensaver-screensaver-webcollage supertuxkart -y
+ wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/xscreensaver.desktop -O /etc/xdg/autostart/xscreensaver.desktop
+ apt remove gnome-screensaver
+ wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/.xscreensaver -O "/home/$user/.xscreensaver"
+ ;;
+esac
#install arduino ide
-apt install arduino usbutils unzip wget -y
-wget https://downloads.arduino.cc/arduino-ide/nightly/arduino-ide_nightly-20250529_Linux_64bit.zip -O /usr/share/arduino-ide_nightly-20250529_Linux_64bit.zip
-unzip /usr/share/arduino-ide_nightly-20250529_Linux_64bit.zip -d /usr/share/arduino-ide_nightly-20250529_Linux_64bit
-rm /usr/share/arduino-ide_nightly-20250529_Linux_64bit.zip
-wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/arduino2.desktop -O /usr/share/applications/arduino2.desktop
+case $DE in
+ Y*|y*)
+ apt install arduino usbutils unzip wget -y
+ wget https://downloads.arduino.cc/arduino-ide/nightly/arduino-ide_nightly-20250529_Linux_64bit.zip -O /usr/share/arduino-ide_nightly-20250529_Linux_64bit.zip
+ unzip /usr/share/arduino-ide_nightly-20250529_Linux_64bit.zip -d /usr/share/arduino-ide_nightly-20250529_Linux_64bit
+ rm /usr/share/arduino-ide_nightly-20250529_Linux_64bit.zip
+ wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/arduino2.desktop -O /usr/share/applications/arduino2.desktop
+ ;;
+esac
#install openMV IDE
-apt install usbutils -y
-wget https://github.com/openmv/openmv-ide/releases/download/development/openmv-ide-linux-x86_64-4.6.1.tar.gz -O /tmp/openmv.tar.gz
-tar -xzf /tmp/openmv.tar.gz --directory /tmp/
-sh /tmp/openmv-ide/setup.sh
-rm /tmp/openmv.tar.gz
-rm -rf /tmp/openmv-ide/
+case $omv in
+ Y*|y*)
+ apt install usbutils -y
+ wget https://github.com/openmv/openmv-ide/releases/download/development/openmv-ide-linux-x86_64-4.6.1.tar.gz -O /tmp/openmv.tar.gz
+ tar -xzf /tmp/openmv.tar.gz --directory /tmp/
+ sh /tmp/openmv-ide/setup.sh
+ rm /tmp/openmv.tar.gz
+ rm -rf /tmp/openmv-ide/-
+ ;;
+esac
#setup GIT
-apt install git -y
- #secure download method
-gpg --import ./secrets/public.key
-gpg --import ./secrets/private.key
-mkdir -p "/home/$user/.ssh/"
-cp ./secrets/ssh-robosoccer "/home/$user/.ssh/ssh-robosoccer"
-cp ./secrets/ssh-robosoccer.pub "/home/$user/.ssh/ssh-robosoccer.pub"
-sudo -u $user "git config --global user.signingkey 08242B7544C76B9E9B4EFB91C6C9DC589850AB7D"
-wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/.gitmessage.txt -O /home/$user/.gitmessage.txt
-sudo -u $user "git config --global commit.template ~/.gitmessage.txt"
+case $git in
+ Y*|y*)
+ apt install git wget gnupg-utils fdisk -y
+ gpg --output /tmp/secrets.tar.gz --decrypt $secloc
+ tar -xzf /tmp/secrets.tar.gz /tmp/
+ gpg --import /tmp/secrets/public.key
+ gpg --import /tmp/secrets/private.key
+ mkdir -p "/home/$user/.ssh/"
+ cp ./secrets/ssh-robosoccer "/home/$user/.ssh/ssh-robosoccer"
+ cp ./secrets/ssh-robosoccer.pub "/home/$user/.ssh/ssh-robosoccer.pub"
+ sudo -u $user "git config --global user.signingkey 08242B7544C76B9E9B4EFB91C6C9DC589850AB7D"
+ wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/.gitmessage.txt -O /home/$user/.gitmessage.txt
+ sudo -u $user "git config --global commit.template ~/.gitmessage.txt"
+ ;;
+esac
#download git repo
-sudo -u $user "git clone git@github.com:mendelcollege-robotics/robotica.git $gitreploc"
+case $gitrep in
+ Y*|y*)
+ sudo -u $user "git clone git@github.com:mendelcollege-robotics/robotica.git $gitreploc"
+ ;;
+esac
+
+cat << "EOF"
+
+
+
+
+
+
+ ________________
+ / \
+ | Setup complete |
+ | see you |
+ | next time! |
+ \_____ _______/
+ | /
+ | /
+ |/
+ \|/
+ -----------
+ | |
+ | ~ 0 |
+ | |
+ | \_____/ |
+ -----------
+ __/ \__
+ / \ / \
+ / |[] | | \
+ / /| | |\ \
+ | | | | | | |
+ | | | | | | |
+ |__| | | |__|
+ { } ==={}=== { }
+ /||\ | || | /||\
+ | || |
+ | || |
+ | || |
+ | || |
+ /--- || ---\
+ /______/ \______\
+EOF
+
+