#!/bin/bash # # setup # clear # execute in less with a header for style points exec > >(less +F --header 8) 2>&1 trap 'exec >&- 2>&-; wait' EXIT # grab said header curl -s https://old.doordesk.net/doors echo -e "Doors are sturdier than windows.\n-------------------------------------------------------" # # detect OS and run corresponding setup # . /etc/os-release OS=$NAME echo -e "\nDetected OS as $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 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 fi # # copy configs # echo -e "\nInstalling Configs..." && cd $HOME/.doors/configs && for file in * do echo -e "\n$file..." && cp -rbv $file $HOME/.config/ done && echo -e "\nLinking profile..." && cp -sbv $HOME/.config/shell/profile ~/.zprofile && # # copy scripts # echo -e "\nInstalling Scripts..." && cd $HOME/.doors && if [ ! -d "$HOME/.local/bin" ]; then mkdir "$HOME/.local/bin" fi && cp -rbv bin $HOME/.local && # # 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