Index: setup.sh ================================================================== --- setup.sh +++ setup.sh @@ -1,8 +1,12 @@ #!/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" @@ -10,36 +14,36 @@ 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 ../ -if which fossil >/dev/null 2>&1; then +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 which gpg2 >/dev/null 2>&1; then + if have gpg2; then fossil set --global clearsign 1 fossil set --global pgp-command "gpg2 $gpg_args" - elif which gpg >/dev/null 2>&1; then + elif have gpg; then fossil set --global clearsign 1 fossil set --global pgp-command "gpg $gpg_args" fi fi -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 +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 -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 +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 @@ -46,10 +50,10 @@ 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 +elif have startx; then link_file Xdefaults .Xdefaults link_file Xmodmap .Xmodmap link_file xinitrc .xinitrc fi