configs  Artifact [0674b083ad]

Artifact 0674b083ad95863953ac32f75b9690bd0be79d4cef38c1e47e90088d3251bd85:

  • Executable file setup.sh — part of check-in [bfbe9e5b51] at 2020-08-30 12:03:32 on branch trunk — setup.sh: Clean up a little (user: js size: 1611)

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

have() {
	which $1 >/dev/null 2>&1
}

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
have cvs && link_file cvsrc .cvsrc
have fish && link_file fish .config/fish ../
if have fossil; then
	echo "Setting global fossil settings…"

	fossil set --global autosync 0
	fossil set --global editor 'vim -c "se ft=gitcommit"'
	fossil set --global mv-rm-files 1
	gpg_args="-u 35E1AF8B --clearsign -o"
	if have gpg2; then
		fossil set --global clearsign 1
		fossil set --global pgp-command "gpg2 $gpg_args"
	elif have gpg; then
		fossil set --global clearsign 1
		fossil set --global pgp-command "gpg $gpg_args"
	fi
fi
have git && link_file git .config/git ../
if have gpg || have gpg2; then
	mkdir -p $HOME/.local/share/gnupg
	link_file gpg.conf .local/share/gnupg/gpg.conf ../../../
fi
have tmux && link_file tmux .config/tmux ../
have vim && link_file vim .config/vim ../
have youtube-dl && link_file youtube-dl .config/youtube-dl ../
have zsh && 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 have startx; then
	link_file Xdefaults .Xdefaults
	link_file Xmodmap .Xmodmap
	link_file xinitrc .xinitrc
fi