#!/bin/bash set -e clear && echo "Choose your adventure: ============================ 1. Shell/CLI stuff only 2. Above plus basic GUI 3. Above plus extras like steam, messengers (bloat) " read -p "Enter number[1-3]: " input if ! [ "$input" -eq "$input" ] 2> /dev/null; then echo "Error: Not a number" exit 1 elif [ $input -lt 1 ] || [ $input -gt 3 ]; then echo "Error: Input out of range" exit 1 fi # Trigger sudo prompt before less can block password input sudo echo '' # Detect OS and act accordingly . /etc/os-release OS=$NAME # Check for less and install if not found if ! type "less" &> /dev/null; then echo "less not found, installing..." sudo pacman -S --noconfirm less # <<< should handle other distros here fi clear && # Execute in less with a header for style points exec > >(less +F --header 8) 2>&1 trap 'exec >&- 2>&-; wait' EXIT echo ':::::::-. ... ... :::::::.. .::::::. ;;, `'\'';, .;;;;;;;. .;;;;;;;. ;;;;``;;;; ;;;` ` `[[ [[,[[ \[[,,[[ \[[,[[[,/[[['\'' '\''[==/[[[[, $$, $$$$$, $$$$$$, $$$$$$$$$c '\'''\'''\'' $ 888_,o8P'\''"888,_ _,88P"888,_ _,88P888b "88bo,88b dP MMMMP"` "YMMMMMP" "YMMMMMP" MMMM "W" "YMmMY" ' echo "Doors are sturdier than windows. -------------------------------------------------------" echo -e "\nSetup for $OS" if [[ $OS == *Arch* ]]; then cd echo "Enabling Pacman colors..." sudo sed '/Color/s/^#//' -i /etc/pacman.conf echo -e "\nVerifying base requirements..." sudo pacman -S --needed --noconfirm git base-devel if test -d .doors; then echo -e "\n$HOME/.doors found, checking for updates..." cd .doors git pull cd else echo -e "\n$HOME/.doors not found, creating..." git clone https://github.com/adoyle0/Doors.git .doors fi $HOME/.doors/scripts/install_arch $input # These are broken for now # elif [[ $OS == *buntu* ]]; then # cd # sudo apt-get -y install git rsync # git clone https://github.com/adoyle0/Doors.git .doors # $HOME/.doors/scripts/install_min_ubuntu # # elif [[ $OS == *Fedora* ]]; then # cd # sudo dnf install -y git rsync # git clone https://github.com/adoyle0/Doors.git .doors # $HOME/.doors/scripts/install_min_fedora else echo "$OS is not supported by this script at this time." exit 1 fi # Init and update awesome widgets submodule cd $HOME/.doors && git submodule init && git submodule update # Copy and link files cd $HOME/.doors && $HOME/.doors/scripts/copy_and_link $input # Copy default wallpaper if ! test -d $HOME/Pictures; then mkdir $HOME/Pictures if ! test -d $HOME/Pictures/Wallpapers; then mkdir $HOME/Pictures/Wallpapers fi if ! test -f $HOME/Pictures/Wallpapers/door2.jpg; then curl -o $HOME/Pictures/Wallpapers/door2.jpg https://old.doordesk.net/door2.jpg $HOME/.local/bin/doorsbg fi fi # Wrap up echo -e "\nDone!\nLog out and back in for changes to take effect." # Give less time to catch up and tell it we're done sleep 1 && killall -s SIGINT less