dotfiles/install.zsh

39 lines
888 B
Bash
Executable File

#!/usr/bin/env zsh
DOTFILES_PATH="${0:a:h}"
install_dotfile() {
local dest="$1"
local contents="$2"
if [[ -f "$dest" ]]; then
mv -vi "$dest" "$dest.dmitmel-dotfiles-backup"
fi
mkdir -pv "${dest:h}"
echo "installing dotfile '$dest'"
echo "$contents" > "$dest"
}
# ZSH
for file_name in zshrc; do
file_path="$DOTFILES_PATH/zsh/$file_name"
install_dotfile "$HOME/.$file_name" "source ${(q)file_path}"
done
# Neovim
for file_name in {init,ginit}.vim; do
file_path="$DOTFILES_PATH/nvim/$file_name"
install_dotfile "$HOME/.config/nvim/$file_name" "source ${(q)file_path}"
done
# Kitty
file_name=kitty.conf
file_path="$DOTFILES_PATH/kitty/$file_name"
install_dotfile "$HOME/.config/kitty/$file_name" "include ${(q)file_path}"
# tmux
file_name=tmux.conf
file_path="$DOTFILES_PATH/tmux/$file_name"
install_dotfile "$HOME/.$file_name" "source-file ${(q)file_path}"