107 lines
2.2 KiB
Bash
Executable file
107 lines
2.2 KiB
Bash
Executable file
#!/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 &&
|
|
|
|
.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 &&
|
|
.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 &&
|
|
.doors/scripts/install_min_fedora
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
# copy configs
|
|
#
|
|
|
|
echo -e "\nInstalling Configs..." &&
|
|
cd .doors/configs &&
|
|
|
|
for file in *
|
|
do
|
|
if test -d $HOME/.config/$file; then
|
|
echo -e "\n$file already exists, creating backups..."
|
|
else
|
|
echo -e "\nWriting $file..."
|
|
fi
|
|
cp -rbv $file $HOME/.config/
|
|
done &&
|
|
echo -e "\nLinking profile..." &&
|
|
cp -sbv $HOME/.config/shell/profile $HOME/.zprofile &&
|
|
|
|
|
|
|
|
#
|
|
# copy scripts
|
|
#
|
|
|
|
echo -e "\nInstalling Scripts..." &&
|
|
cd ../scripts &&
|
|
|
|
if [ ! -d "$HOME/.local/bin" ]; then
|
|
mkdir "$HOME/.local/bin"
|
|
fi &&
|
|
|
|
cp -rbv doorsbg $HOME/.local/bin &&
|
|
|
|
|
|
|
|
#
|
|
# wrap up
|
|
#
|
|
|
|
echo -e "\nDone!\nLog out and back in for changes to take effect."
|
|
|
|
|
|
# wait for less to catch up and tell it we're done
|
|
|
|
sleep 1 && killall -s SIGINT less
|