diff options
| author | Abel Tim <git@abeltim.com> | 2025-06-01 15:48:59 +0200 |
|---|---|---|
| committer | Abel Tim <git@abeltim.com> | 2025-06-01 15:48:59 +0200 |
| commit | 9c7a6c2895220dd384ed66a18c8b2279bbef73f8 (patch) | |
| tree | 5831c35e1e0215f809bb75dac556ea30bbb71b71 /setup/recoscript.sh | |
| parent | 2873ba15e2a480bdaf3711f0111b0fd4550c4533 (diff) | |
| download | robotica-9c7a6c2895220dd384ed66a18c8b2279bbef73f8.tar.gz robotica-9c7a6c2895220dd384ed66a18c8b2279bbef73f8.zip | |
think finished scrpt, testing now
There are now three scripts,
1) to select the script
2) an automated install script
3) an guided installmet script
will need to test, but willl push first to easly acces on my other pc where i will test
will also give garanteed error on first passwd try, because i can and nobody find out and nobody will read the code anyways or these commits.
Also install supertux card because it is nessesairy.
Also configs xscreensaver because it is awesom
Signed-off-by: Abel Tim <git@abeltim.com>
Diffstat (limited to 'setup/recoscript.sh')
| -rw-r--r-- | setup/recoscript.sh | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/setup/recoscript.sh b/setup/recoscript.sh new file mode 100644 index 0000000..06eaff6 --- /dev/null +++ b/setup/recoscript.sh @@ -0,0 +1,241 @@ +#! /bin/bash +echo 'Welkom to the robosoccer automatic installment script!' +user=user +pass=2235 +# +#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 + +try=0 +npw1 = $pass +while true; do + read -p "Would you like to change the default pasword for $user? [Y]es or [N]o: " chpw + case $chpw in + y*|Y*) + stty -echo + printf "Password: " + read npw1 + stty echo + printf "\n" + stty -echo + printf "Please repeat: " + read npw2 + stty echo + printf "\n" + if [ $npw1 = $npw2 ]; then + if [ $try = 1 ]; then + echo "The password will change at the end of the script" + break + fi + echo "Passwords didn't match, please try again, or stop atempting." + try=$((try+1)) + else + echo "Passwords did not match, please try again, or stop atempting." + fi + ;; + n*|N*) + break + ;; + *) + echo 'Unrecognised input, please try again' + ;; + esac + +done +while true; + 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? [Y]es or [N]o: " 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." + echo "In case you wish to exit to search the file use Ctrl-C" + ;; + *) + echo "Did not recognize input please retry" + ;; + esac +done + + +echo $pass | sudo -S -k apt install cowsay sl lolcat fortune xscreensaver xscreensaver-data xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra xscreensaver-screensaver-bsod xscreensaver-screensaver-dizzy xscreensaver-screensaver-webcollage supertuxkart usbutils arduino usbutils unzip wget git gnupg-utils fdisk -y + +#openMV +echo $pass | sudo -S -k 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 +echo $pass | sudo -S -k tar -xzf /tmp/openmv.tar.gz --directory /tmp/ +echo $pass | sudo -S -k sh /tmp/openmv-ide/setup.sh +echo $pass | sudo -S -k rm /tmp/openmv.tar.gz +echo $pass | sudo -S -k rm -rf /tmp/openmv-ide/ + +#arduino 2.x +echo $pass | sudo -S -k 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 +echo $pass | sudo -S -k unzip /usr/share/arduino-ide_nightly-20250529_Linux_64bit.zip -d /usr/share/arduino-ide_nightly-20250529_Linux_64bit +echo $pass | sudo -S -k rm /usr/share/arduino-ide_nightly-20250529_Linux_64bit.zip +echo $pass | sudo -S -k wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/arduino2.desktop -O /usr/share/applications/arduino2.desktop + +#setup GIT/the repo +echo $pass | sudo -S -k gpg --output /tmp/secrets.tar.gz --decrypt $secloc +echo $pass | sudo -S -k tar -xzf /tmp/secrets.tar.gz /tmp/ +gpg --import /tmp/secrets/public.key +gpg --import /tmp/secrets/private.key +echo $pass | sudo -S -k mkdir -p "/home/$user/.ssh/" +echo $pass | sudo -S -k cp ./secrets/ssh-robosoccer "/home/$user/.ssh/ssh-robosoccer" +echo $pass | sudo -S -k cp ./secrets/ssh-robosoccer.pub "/home/$user/.ssh/ssh-robosoccer.pub" +sudo -u $user "git config --global user.signingkey 08242B7544C76B9E9B4EFB91C6C9DC589850AB7D" +echo $pass | sudo -S -k 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" + +#setup xscreensaver +echo $pass | sudo -S -k wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/xscreensaver.desktop -O /etc/xdg/autostart/xscreensaver.desktop +echo $pass | sudo -S -k apt remove gnome-screensaver +echo $pass | sudo -S -k wget https://github.com/mendelcollege-robotics/robotica/blob/main/setup/.xscreensaver -O "/home/$user/.xscreensaver" + +#setup password +case $chpw in + y*|Y*) + echo $pass | sudo -S -k chpasswd <<<"$user:$npw1" + ;; +esac + +sl -1 -F -a | lolcat +cat << "EOF" + + + + + + + ________________ + / \ + | Setup complete | + | see you | + | next time! | + \_____ _______/ + | / + | / + |/ + \|/ + ----------- + | | + | ~ 0 | + | | + | \_____/ | + ----------- + __/ \__ + / \ / \ + / |[] | | \ + / /| | |\ \ + | | | | | | | + | | | | | | | + |__| | | |__| + { } ==={}=== { } + /||\ | || | /||\ + | || | + | || | + | || | + | || | + /--- || ---\ + /______/ \______\ +EOF +sleep 2 + +cat << "EOF" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +EOF +fortune -a | cowsay -f tux | lolcat + |
