39 lines
1.4 KiB
Bash
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."
|