#!/bin/sh set -e die() { echo "$@" 1>&2 exit 1 } abspath() { (cd "$1" && pwd) } dirname="$(abspath "$(dirname "$0")")" echo "$dirname" files=" abcde.conf bash_profile bashrc emacs.d git-global-ignore mailcap profile screenrc signature vimrc xsessionrc ssh/config ssh/config-pers config/starship/config.toml " install -d "$HOME/.config" for x in $files; do [ -e "$dirname/$x" ] || die "$dirname/$x does not exist, oops" # [ ! -L "$HOME/.$x" ] || die "$HOME/.$x is already a symlink, oops" done for x in $files; do d="$(dirname $x)" if [ ! -e "$HOME/.$d" ]; then mkdir -p "$HOME/.$d" fi ln -sf "$dirname/$x" "$HOME/.$x" done