#!/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/sbt" # Backup configs that are not already symlinked backup_existing "$HOME/.bashrc" backup_existing "$HOME/.config/fish" backup_existing "$HOME/.config/git" backup_existing "$HOME/.config/kitty" backup_existing "$HOME/.config/nix" backup_existing "$HOME/.config/nvim" backup_existing "$HOME/.config/sbt" # 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/git" "$HOME/.config" ln -fsv "$ROOTDIR/kitty" "$HOME/.config" ln -fsv "$ROOTDIR/nix" "$HOME/.config" ln -fsv "$ROOTDIR/nvim" "$HOME/.config" ln -fsv "$ROOTDIR/sbt/settings" "$HOME/.config/sbt" ln -fsv "$ROOTDIR/sbt/plugins" "$HOME/.config/sbt" echo