summaryrefslogtreecommitdiff
path: root/.local/bin/config-symlinks
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2014-03-27 15:50:32 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2014-03-27 15:50:32 -0400
commit9e79a6c3bbc37c2eec19e055566440f0b1173c5c (patch)
tree7516e65c0289b9a68b3a97fe2abbdf0d7dba8d8d /.local/bin/config-symlinks
parent5c42078bd052705b69d6ea93ff7617445be43789 (diff)
parentd65775a22e1648eca8e74389a4d9c1c299017cf3 (diff)
Merge remote-tracking branch 'origin/master' into purdue-cs
Conflicts: .config/X11/clientrc .config/bash/rc.d/emacs.sh .config/bash/rc.sh .config/conkeror .config/conkerorrc .config/emacs/custom.el .config/irbrc .config/login.sh .config/maildirproc/att.rc .config/maildirproc/default.rc .config/offlineimaprc .config/ssh/config .config/wmii-hg/autostart .config/wmii-hg/include.sh .config/wmii-hg/quit .config/wmii-hg/rbar_battery .config/wmii-hg/rbar_clock .config/wmii-hg/rbar_cpu .config/wmii-hg/rbar_wifi .conkerorrc .maildirproc/default.rc
Diffstat (limited to '.local/bin/config-symlinks')
-rwxr-xr-x.local/bin/config-symlinks15
1 files changed, 15 insertions, 0 deletions
diff --git a/.local/bin/config-symlinks b/.local/bin/config-symlinks
new file mode 100755
index 0000000..0831ca3
--- /dev/null
+++ b/.local/bin/config-symlinks
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _target _link; do
+ target="$(sed -rn 's|[^/]+/|../|g;s|/[^/]+$|/|p' <<<"$_link")${_target}"
+ link="$HOME/$_link"
+ if [[ -L "$link" ]]; then
+ rm -f "$link"
+ fi
+ if [[ -e "$link" ]]; then
+ echo "ERROR: file exists: $link" >> /dev/stderr
+ else
+ mkdir -p "${link%/*}"
+ ln -s "$target" "$link"
+ fi
+done