#!/bin/sh SCRIPT=$(readlink -f "$0") RC_PATH=$(dirname "$SCRIPT") HOST=$(hostname) XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config} # List of the config files to install FILES="vimrc zshrc gitconfig vim gitignore_global git_user ctags.d" CONF_DIR="config" if [ ! -e "$HOME/.git_user" ]; then cp "$RC_PATH/git_user.def" "$RC_PATH/git_user" sed -i -e "s/{username}/$USER/" "$RC_PATH/git_user" sed -i -e "s/{email}/$USER@$HOST/" "$RC_PATH/git_user" fi # Init or update submodules cd "$RC_PATH" git submodule update --init --recursive cd - > /dev/null # Setup fast-syntax-highlighting theme customization cp "$RC_PATH/fsh_theme.zsh" "$RC_PATH/fast-syntax-highlighting/current_theme.zsh" # Create symbolic links in the user's home dir for file in $FILES do if [ ! -e "$HOME/.${file}" ]; then ln -s "${RC_PATH}/${file}" "$HOME/.${file}" # Only warn if an actual file exist, else we suppose it is from a previous install elif [ ! -L "$HOME/.$file" ]; then >&2 echo "File $HOME/.$file exists. Keeping old version." fi done mkdir -p $XDG_CONFIG_HOME find $RC_PATH/$CONF_DIR -mindepth 1 -maxdepth 1 -type d \ -exec sh -c "ln -s -t \"$XDG_CONFIG_HOME\" \"{}\" 2> /dev/null || ( link=$XDG_CONFIG_HOME/"'$(basename "{}")'"; test -L "'$link'" || >&2 echo \"Folder "'$link'" exists. Keeping old version.\")" \;