summaryrefslogtreecommitdiff
path: root/setup/setupscr.sh
diff options
context:
space:
mode:
Diffstat (limited to 'setup/setupscr.sh')
-rw-r--r--setup/setupscr.sh277
1 files changed, 21 insertions, 256 deletions
diff --git a/setup/setupscr.sh b/setup/setupscr.sh
index 16f72de..fee0db6 100644
--- a/setup/setupscr.sh
+++ b/setup/setupscr.sh
@@ -1,255 +1,4 @@
#! /bin/bash
-echo 'Welkom to the robosoccer installment script!'
-
-#check sudo
-if [ `whoami` != root ]; then
- echo Please run this script as root or using sudo
- exit
-fi
-#check internet connection
-wget -q --spider https://github.com
-if [ $? -eq 0 ]; then
- echo 'Internet connection found'
-else
- echo 'Error, either your device is off-line or https://github.com is off-line.'
- exit
-fi
-
-#installation options
-echo "Please enter the username of the user it must be installed for."
-read -p "Username: " user
-if id -u "$user" >/dev/null 2>&1; then
- echo " "
-else
- echo "$user"' does not exist'
- while true; do
- read -p "Do you wich to create this user [Y]es or [N]o " inp1
- case $inp1 in
- y*|Y*)
- echo 'creating user'
- break
- ;;
- n*|N*)
- echo 'No, exiting'
- exit
- ;;
- *)
- echo 'Unrecognised input, please try again'
- ;;
- esac
- done
- useradd $user
-fi
-echo 'You will now need to select what this script should configure.'
-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
- y*|Y*)
- while true; do
- read -p "Where do you wish to install the robosoccer repository? (Default: /home/$user/Documents/)" gitreploc
- case $gitreploc in
- "")
- echo 'Left empty, using default folder.'
- gitreploc="/home/$user/Documents/"
- if [ -d "/home/$user/Documents/" ]; then
- break
- fi
- read -p "/home/$user/Documents/ does not exist or is an file, do you wish to create this folder?" inp3
- case $inp3 in
- y*|Y*)
- mkdir "$gitreploc"
- if [ -d "$gitreploc" ]; then
- echo "Somthing went wrong with the creation of the directory, exiting"
- exit
- fi
- break
- ;;
- n*|N*)
- echo "Will not clone git repository"
- gitrep=N
- break
- ;;
- *)
- echo "Did not recognize input please retry"
- ;;
- esac
- ;;
- *)
- if [ -d "$gitreploc" ]; then
- echo "Using $gitreploc."
- break
- fi
- read -p "$gitreploc does not exist or is an file, do you wish to create this folder?" inp2
- case $inp2 in
- y*|Y*)
- mkdir "$gitreploc"
- if [ -d "$gitreploc" ]; then
- echo "Somthing went wrong with the creation of the directory, exiting"
- exit
- fi
- ;;
- n*|N*)
- echo "Will not clone git repository"
- gitrep=N
- break
- ;;
- *)
- echo "Did not recognize input please retry"
- ;;
- esac
- ;;
- esac
- done
- break
- ;;
- n*|N*)
- echo 'Selected no.'
- break
- ;;
- *)
- echo 'Unrecognised input, please try again'
- ;;
- esac
-done
-
-#setup DE
-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
-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
-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
-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
-case $gitrep in
- Y*|y*)
- sudo -u $user "git clone git@github.com:mendelcollege-robotics/robotica.git $gitreploc"
- ;;
-esac
-
cat << "EOF"
@@ -259,9 +8,10 @@ cat << "EOF"
________________
/ \
- | Setup complete |
- | see you |
- | next time! |
+ | Welkome to |
+ | the robotics |
+ | linux setup |
+ | script!! |
\_____ _______/
| /
| /
@@ -289,6 +39,21 @@ cat << "EOF"
/--- || ---\
/______/ \______\
EOF
+sleep 2
+while true; do
+ read -p "Please select (1)The automatic setup script, (2)The guided setup script or (3)Exit this script)? [1]/[2]/[3]: " chpw
+ case $chpw in
+ 1|a*|A*)
+ sh -c "$(curl -sSL https://github.com/mendelcollege-robotics/robotica/blob/main/setup/recoscr.sh)"
+ ;;
+ 2|g*|G*)
+ sh -c "$(curl -sSL https://github.com/mendelcollege-robotics/robotica/blob/main/setup/selectscr.sh)"
+ ;;
+ 3|e*|E*)
+ ;;
+ *)
+ echo 'Unrecognised input, please try again'
+ ;;
+ esac
-
-
+done