configs  Artifact [c48f0e3096]

Artifact c48f0e3096249c12471ca0b55f36e9d1cdcb0fc965196c1a885c31b5509bf3cb:

  • Executable file create_symlinks.sh — part of check-in [b7f3b40f36] at 2020-08-29 18:07:21 on branch trunk — Add cvsrc (user: js size: 1301)
  • Executable file setup.sh — part of check-in [651581a411] at 2020-08-30 11:26:18 on branch trunk — Rename create_symlinks.sh to setup.sh (user: js size: 1301)

#!/bin/sh
rel_dir="${PWD#$HOME/}"
echo "Configs relative to home in $rel_dir."

link_file() {
	if [ ! -e "$HOME/$2" ]; then
		echo "Symlinking $HOME/$2 -> $3$rel_dir/$1…"
		ln -s "$3$rel_dir/$1" "$HOME/$2"
	else
		echo "$HOME/$2 already exists, skipping…"
	fi
}

mkdir -p $HOME/.config
which cvs >/dev/null 2>&1 && link_file cvsrc .cvsrc
which fish >/dev/null 2>&1 && link_file fish .config/fish ../
which git >/dev/null 2>&1 && link_file git .config/git ../
if which gpg >/dev/null 2>&1 || which gpg2 >/dev/null 2>&1; then
	mkdir -p $HOME/.local/share/gnupg
	link_file gpg.conf .local/share/gnupg/gpg.conf ../../../
fi
which tmux >/dev/null 2>&1 && link_file tmux .config/tmux ../
which vim >/dev/null 2>&1 && link_file vim .config/vim ../
which youtube-dl >/dev/null 2>&1 && link_file youtube-dl .config/youtube-dl ../
which zsh >/dev/null 2>&1 && link_file zshrc .zshrc

if test x"$(uname -s)" = x"Darwin"; then
	dest="$HOME/Library/Keyboard Layouts/eu_US.keylayout"
	# This does not like being symlinked…
	if [ ! -e "$dest" ]; then
		echo "Hardlinking eu_US.keylayout -> $dest"
		ln eu_US.keylayout "$dest"
	else
		echo "$dest already exists, skipping…"
	fi
elif which startx >/dev/null 2>&1; then
	link_file Xdefaults .Xdefaults
	link_file Xmodmap .Xmodmap
	link_file xinitrc .xinitrc
fi