dotfiles/setup.sh

55 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT")
# Make sure $HOME/.config exists. It should, if we've been cloned there!
if [[ ! -d "$HOME/.config" ]]; then
mkdir -p "$HOME"/.config
fi
# Clone ZSH configs.
if [[ ! -d "$HOME/.config/zsh" ]]; then
git clone --recurse-submodules https://git.kree.gr/kreeger/zshrc.git "$HOME"/.config/zsh
fi
if [[ ! -a "$HOME/.zshrc" ]]; then
ln -sfv "$HOME"/.config/zsh/zshrc "$HOME"/.zshrc
fi
# Clone nvim configs.
if [[ ! -d "$HOME/.config/nvim" ]]; then
git clone --recurse-submodules https://git.kree.gr/kreeger/nvimrc.git "$HOME"/.config/nvim
fi
# Clone tmux configs.
if [[ ! -d "$HOME/.config/tmux" ]]; then
git clone --recurse-submodules https://git.kree.gr/kreeger/tmuxrc.git "$HOME"/.config/tmux
fi
# Clone lazygit config.
if [[ ! -a "$HOME/.config/lazygit/config.yml" ]]; then
mkdir -p "$HOME/.config/lazygit"
ln -sfv "$SCRIPTPATH/lazygit.yaml" "$HOME/.config/lazygit/config.yml"
fi
# Link k9s config.
if [[ ! -d "$HOME/.config/k9s" ]]; then
ln -sfv "$SCRIPTPATH/k9s" "$HOME/.config/k9s"
fi
# Link starship config.
if [[ ! -a "$HOME/.config/starship/starship.toml" ]]; then
mkdir -p "$HOME/.config/starship"
ln -sfv "$SCRIPTPATH/starship.toml" "$HOME/.config/starship/starship.toml"
fi
# Link dotfiles.
declare -a dotfiles=("gemrc" "gitconfig" "gitignore.global")
for file in "${dotfiles[@]}"
do
if [[ ! -a "$HOME/.$file" ]]; then
ln -sfv "$SCRIPTPATH/$file" "$HOME/.$file"
fi
done