#!/bin/sh # shellcheck disable=SC1091 # variables LOCAL_BIN_DIR=${HOME}/.local/bin 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" if [ "${1}" = "linux-gui" ]; then # install configs for i in "${LOCAL_GIT_DIR}"/dotfiles/config/linux-gui/_conf/*; do rm -rf "${XDG_CONFIG_HOME:?}/$(basename "${i}")" ln -sf "${LOCAL_GIT_DIR}/dotfiles/config/linux-gui/_conf/$(basename "${i}")" "${XDG_CONFIG_HOME}/" done # install scripts for i in "${LOCAL_GIT_DIR}"/dotfiles/config/linux-gui/_scripts/*; do ln -sf "${LOCAL_GIT_DIR}/dotfiles/config/linux-gui/_scripts/$(basename "${i}")" "${LOCAL_BIN_DIR}/" done else # 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.sr.ht/~ftpd/dotfiles "${LOCAL_GIT_DIR}/dotfiles" # zsh modules mkdir -p "${LOCAL_GIT_DIR}/zsh_modules" for module in 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/common/*; do rm -rf "${XDG_CONFIG_HOME:?}/$(basename "${i}")" ln -sf "${LOCAL_GIT_DIR}/dotfiles/config/common/$(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." fi