dotfiles/setup.sh
2025-11-10 15:18:32 -06:00

24 lines
737 B
Bash
Executable File

#!/usr/bin/env bash
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT")
XDG_CONFIG_HOME=$HOME/.config
# Make sure $HOME/.config exists.
if [[ ! -d $XDG_CONFIG_HOME ]]; then
mkdir -p "$XDG_CONFIG_HOME"
fi
# Symlink directories to $XDG_CONFIG_HOME.
directories=("gem" "ghostty" "git" "gnupg" "k9s" "lazygit" "mise" "neovide" "nvim" "starship" "tmux" "zed")
for directory in "${directories[@]}"; do
if [[ -d "$XDG_CONFIG_HOME/$directory" ]]; then continue; fi
ln -sfv "$SCRIPTPATH/$directory" "$XDG_CONFIG_HOME/$directory"
done
zshfiles=("zshenv" "zshrc")
for file in "${zshfiles[@]}"; do
if [[ -a "$HOME/.$file" && $* == *--no-force* ]]; then continue; fi
ln -sfv "$SCRIPTPATH/zsh/$file" "$HOME/.$file"
done