dotfiles/install.sh

39 lines
1.4 KiB
Bash

#!/bin/sh
# shellcheck disable=SC1091
# variables
LOCAL_GIT_DIR="${HOME}/.local/git"
XDG_CACHE_HOME="/tmp/${USER}-cache"
XDG_CONFIG_HOME="${HOME}/.config"
XDG_DATA_HOME="${HOME}/.local/share"
XDG_STATE_HOME="${HOME}/.local/state"
# clean + prepare local dirs
rm -rf ~/.cache ~/.config/_cache ~/.fdignore ~/.fzf.bash ~/.fzf.zsh ~/.gitconfig ~/.gitignore ~/.history ~/.hushlogin ~/.tmux.conf ~/.vim* ~/.zcomp* ~/.zsh*
rm -rf "${XDG_CACHE_HOME}" "${XDG_DATA_HOME}/nvim" "${XDG_STATE_HOME}/nvim"
mkdir -p "${XDG_CACHE_HOME}" "${XDG_CONFIG_HOME}" "${XDG_DATA_HOME}"
chmod 700 "${XDG_CACHE_HOME}"
# prepare repository
mkdir -p "${LOCAL_GIT_DIR}"
rm -rf "${LOCAL_GIT_DIR}/dotfiles"
git clone https://git.insomniac.pl/ftpd/dotfiles "${LOCAL_GIT_DIR}/dotfiles"
# zsh modules
mkdir -p "${LOCAL_GIT_DIR}/zsh_modules"
for module in Aloxaf/fzf-tab mfaerevaag/wd romkatv/powerlevel10k zdharma-continuum/fast-syntax-highlighting; do
rm -rf "${LOCAL_GIT_DIR}/zsh_modules/${module#*/}"
git clone https://github.com/${module} "${LOCAL_GIT_DIR}/zsh_modules/${module#*/}"
done
# configs
for i in "${LOCAL_GIT_DIR}"/dotfiles/config/*; do
rm -rf "${XDG_CONFIG_HOME:?}/$(basename "${i}")"
ln -sf "${LOCAL_GIT_DIR}/dotfiles/config/$(basename "${i}")" "${XDG_CONFIG_HOME}/"
done
# execute post-install script
printf "Running post-install script... "
. "${LOCAL_GIT_DIR}/dotfiles/scripts/post-install.sh"
echo "done."