dotfiles/install.zsh

61 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env zsh
## TODO walk the file tree instead of manually linking files
link="ln -s"
rm="rm -rf"
emacs_dir="$HOME/.emacs.d"
nvim_dir="$HOME/.config/nvim"
function create_directories {
if [[ ! -d "$emacs_dir" ]]; then
mkdir "$emacs_dir"
fi
if [[ ! -d "$nvim_dir" ]]; then
mkdir "$nvim_dir"
fi
}
function uninstall {
eval $rm "$HOME/.zshrc"
eval $rm "$emacs_dir/init.el"
eval $rm "$emacs_dir/themes"
eval $rm "$HOME/.tmux.conf"
eval $rm "$nvim_dir/autoload"
eval $rm "$nvim_dir/init.vim"
eval $rm "$HOME/.Xresources"
}
function install {
create_directories
eval $link "$PWD/.emacs.d/init.el" "$emacs_dir/init.el"
eval $link "$PWD/.emacs.d/themes/" "$emacs_dir/themes"
eval $link "$PWD/.zshrc" "$HOME/.zshrc"
eval $link "$PWD/.tmux.conf" "$HOME/.tmux.conf"
eval $link "$PWD/.config/nvim/autoload" "$nvim_dir/autoload"
eval $link "$PWD/.config/nvim/init.vim" "$nvim_dir/init.vim"
which xrdb &> /dev/null
xrdb_exists=$?
if (( !xrdb_exists )); then
eval $link "$PWD/.Xresources" "$HOME/.Xresources"
xrdb "$PWD/.Xresources"
fi
}
if [[ "$1" == "uninstall" ]]; then
echo -n "Uninstalling..."
uninstall
echo "Done"
elif [[ "$1" == "install" || "$1" == "" ]]; then
echo -n "Installing..."
uninstall
install
echo "Done"
else
echo "Unknown command \`$1\`"
fi