cba54fd8651a5f4ef5d1aa939fc464c18e6f8ba5
[~madcoder/dotfiles.git] / +bin / madconf
1 #!/bin/bash
2
3 . "$(dirname "$0")/setup.sh"
4
5 dotfiles="$(dirname "$(dirname "$(readlink -f "$0")")")"
6
7 dot_ln() {
8     rel="$(echo "${1#$dotfiles/}" | sed -e 's~[^/][^/]*~..~g')/"
9     ln -sf "${rel#../}${1#$HOME/}" "$HOME/$2"
10 }
11
12 find $dotfiles -mindepth 1 -type d \( -name '[+.]*' -prune -o -print \) | while read d; do
13     mkdir -p "$HOME/.${d#$dotfiles/}"
14 done
15
16 find $dotfiles -mindepth 1 -maxdepth 1 -type d -name '+*' | while read d; do
17     rm -f "$HOME/${d#$dotfiles/+}"
18     dot_ln "$d" "${d#$dotfiles/+}"
19 done
20
21 find $dotfiles -mindepth 1 \( -name '[+.]*' -prune -o -not -type d -print \) | while read f; do
22     rm -f "$HOME/.${f#$dotfiles/}"
23     dot_ln "$f" ".${f#$dotfiles/}"
24 done
25
26 for cache in compose mutt ssh gdb zsh rlwrap ccache; do
27     mkdir -p "$HOME/.cache/$cache"
28 done