Files

116 lines
3.4 KiB
Bash
Executable File

#!/bin/zsh
#
# YADM Bootstrap
# @CharlesDanesi
case $(uname -s) in
Darwin)
# Install Homebrew
if ! command -v brew >/dev/null 2>&1; then
echo "Installing Homebrew"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
if [ -f "$HOME/.Brewfile" ]; then
echo "Installing/Updating homebrew bundle"
brew bundle --global
fi
# espanso
espanso service register
espanso service start
;;
Linux)
# First, we need to distinguish between Arch and Debian/Ubuntu
# I'm not sure the best way to do this yet, but as I primarily use Arch and
# Debian based distros, I'm going to separate them by package manager..
if command -v pacman >/dev/null 2>&1; then # Arch-based
# Add BlackArch repositories
if [ ! -f /etc/pacman.d/blackarch-mirrorlist ]; then
echo "Installing BlackArch repositories"
curl -O https://blackarch.org/strap.sh && sudo sh ./strap.sh
fi
elif [ ! command -v apt >/dev/null 2>&1 ]; then # Debian-based
echo "nothing to do yet"
else
echo "nothing to do yet"
fi
;;
*) ;;
esac
echo "Setting up ZSH"
if ! [ -d "$HOME/.zsh" ]; then
mkdir "$HOME/.zsh"
fi
if ! [ -d "$HOME/.zsh/zsh-autosuggestions" ]; then
echo "Installing zsh-autosuggestions"
git clone https://github.com/zsh-users/zsh-autosuggestions $HOME/.zsh/zsh-autosuggestions
fi
# git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git
if ! [ -d "$HOME/.zsh/zsh-syntax-highlighting" ]; then
echo "Installing zsh-syntax-highlighting"
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $HOME/.zsh/zsh-syntax-highlighting
fi
if ! [ -d "$HOME/.zsh/zsh-completions" ]; then
echo "Installing zsh-completions"
git clone https://github.com/zsh-users/zsh-completions.git $HOME/.zsh/zsh-completions
[[ ! -f $HOME/.zcompdump ]] || rm $HOME/.zcompdump
echo "Setting up zsh completions"
compinit
fi
if ! [ -d "$HOME/.zsh/zsh-vi-mode" ]; then
echo "Installing zsh-vi-mode"
git clone https://github.com/jeffreytse/zsh-vi-mode.git $HOME/.zsh/zsh-vi-mode
fi
if ! [ -d "$HOME/.zsh/powerlevel10k" ]; then
echo "Installing powerlevel10k"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $HOME/.zsh/powerlevel10k
fi
# git clone https://github.com/Freed-Wu/zsh-help.git ~/.zsh/zsh-help
if ! [ -d "$HOME/.oh-my-zsh/" ]; then
echo "Installing oh-my-zsh"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
rm "$HOME/.zshrc"
mv "$HOME/.zshrc.pre-oh-my-zsh" "$HOME/.zshrc"
source "$HOME/.zshrc"
fi
if ! [ -d "$HOME/.config/ranger/plugins/ranger_devicons" ]; then
echo "Installing ranger_devicons"
git clone https://github.com/alexanderjeurissen/ranger_devicons $HOME/.config/ranger/plugins/ranger_devicons
fi
if ! [ -d "$HOME/.config/tmux/plugins/tpm/" ]; then
echo "Installing Tmux Plugin Manager (TPM)"
mkdir -p "$HOME/.config/tmux/plugins/tpm"
git clone https://github.com/tmux-plugins/tpm $HOME/.config/tmux/plugins/tpm
fi
read -qs "ans?Change yadm origin remote to SSH url? (y/N) "
case $ans in
y)
echo "\n\nSetting remote origin to use SSH"
yadm remote set-url origin "git@github.com:cdanesi/dotfiles.git"
;;
*) ;;
esac