dotfiles/install.sh

37 lines
1.2 KiB
Bash

#!/bin/sh
# 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
# clean + prepare local dirs
rm -rf ~/.cache ~/.config/_cache ~/.fdignore ~/.fzf.bash ~/.fzf.zsh ~/.gitconfig ~/.gitignore ~/.history ~/.tmux.conf ~/.vim* ~/.zcomp* ~/.zsh*
rm -rf ${XDG_CACHE_HOME} ${XDG_DATA_HOME}/nvim ${XDG_STATE_HOME}/nvim
mkdir -p ${LOCAL_BIN_DIR} ${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
rm -rf ${LOCAL_GIT_DIR}/zsh_modules/*
for module in mfaerevaag/wd zdharma-continuum/fast-syntax-highlighting; do
git clone https://github.com/${module} $LOCAL_GIT_DIR/zsh_modules/${module#*/}
done
# configs
for i in ${LOCAL_GIT_DIR}/dotfiles/_cli/*; do
rm -rf ${XDG_CONFIG_HOME}/$(basename $i)
ln -sf ${LOCAL_GIT_DIR}/dotfiles/_cli/$(basename $i) ${XDG_CONFIG_HOME}/
done
# nvim setup
nvim -c "lua require('lazy').sync({wait = true})" -c "MasonInstallAll"