dotfiles/set-links.sh

72 lines
1.4 KiB
Bash

#!/usr/bin/bash
# This saves the real path to the script
WORKING_DIR=$(dirname $(realpath ${0}))
# This saves $XDG_CONFIG_HOME or ~/.confg as CONFIG_DIR
CONFIG_DIR=${XDG_CONFIG_HOME:-${HOME}/.config}
cd
# Bash
for config in ${WORKING_DIR}/bash/*; do
file=$(basename ${config})
if [[ ! -L ${HOME}/${file} ]]; then
ln -s ${config} .${file} 2>/dev/null
fi
done
# Git
if [[ ! -L ${HOME}/.config/git ]]; then
ln -s ${WORKING_DIR}/git/ .config/git 2>/dev/null
fi
# Music Player Daemon
if [[ ! -L ${HOME}/.mpdconf ]]; then
ln -s ${WORKING_DIR}/mpdconf .mpdconf 2>/dev/null
fi
# Ncmpcpp
if [[ ! -L ${CONFIG_DIR}/.ncmpcpp ]]; then
ln -s ${WORKING_DIR}/ncmpcpp/ ${CONFIG_DIR}/ncmpcpp 2>/dev/null
fi
# Neovim
if [[ ! -L ${CONFIG_DIR}/nvim ]]; then
ln -s ${WORKING_DIR}/nvim/ ${CONFIG_DIR}/nvim 2>/dev/null
fi
# Tmux
if [[ ! -L ${HOME}/.config/tmux/tmux.conf ]]; then
mkdir -m 0700 ${HOME}/.config/tmux
ln -s ${WORKING_DIR}/tmux/tmux.conf .tmux.conf 2>/dev/null
fi
# XsessionRC
if [[ ! -L ${HOME}/.xsessionrc ]]; then
ln -s ${WORKING_DIR}/xsessionrc .xsessionrc 2>/dev/null
fi
# Zsh
if [[ ! -d ${HOME}/.zsh ]]; then
mkdir -m 0700 ~/.zsh 2>/dev/null
fi
if [[ ! -L ${HOME}/.zshenv ]]; then
ln -s ${WORKING_DIR}/zsh/zshenv .zshenv 2>/dev/null
fi
if [[ ! -L ${HOME}/.zshrc ]]; then
ln -s ${WORKING_DIR}/zsh/zshrc .zsh/.zshrc 2>/dev/null
fi
if [[ ! -L ${HOME}/.zsh/.zdirhashes ]]; then
ln -s ${WORKING_DIR}/zsh/zdirhashes .zsh/.zdirhashes 2>/dev/null
fi