config/install/install-symlinks.sh

35 lines
903 B
Bash
Executable File

#!/bin/bash
echo "***** INSTALL SYMLINKS *****"
ROOTDIR=$(cd "$(dirname "$0")/.." && pwd)
backup_existing() {
if [ -e "$1" ]; then
if [ ! -L "$1" ]; then
mv -v "$1" "$1.backup"
fi
fi
}
# Create required directories before making links
mkdir -p "$HOME/.config"
# Backup configs that are not already symlinked
backup_existing "$HOME/.bashrc"
backup_existing "$HOME/.config/fish"
backup_existing "$HOME/.config/kitty"
backup_existing "$HOME/.config/nix"
backup_existing "$HOME/.config/nvim"
backup_existing "$HOME/.config/git"
# Create symlinks, forcing updates
ln -fsv "$ROOTDIR/bash/.bashrc" "$HOME/.bashrc" # Bash does not support XDG config
ln -fsv "$ROOTDIR/fish" "$HOME/.config"
ln -fsv "$ROOTDIR/kitty" "$HOME/.config"
ln -fsv "$ROOTDIR/nix" "$HOME/.config"
ln -fsv "$ROOTDIR/nvim" "$HOME/.config"
ln -fsv "$ROOTDIR/git" "$HOME/.config"
echo