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