summary refs log tree commit diff
path: root/link.zsh
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2018-03-14 21:53:11 -0400
committerJune McEnroe <programble@gmail.com>2018-03-14 21:53:50 -0400
commit3a7a6d89708a62ca2efd8b36dd44fa30d461f23a (patch)
tree0d1ac8f7dcac9cd3abf4a2865e9ec5cba4725b66 /link.zsh
parentClean up install.sh (diff)
downloadsrc-3a7a6d89708a62ca2efd8b36dd44fa30d461f23a.tar.gz
src-3a7a6d89708a62ca2efd8b36dd44fa30d461f23a.zip
Clean up home scripts, split again
Diffstat (limited to 'link.zsh')
-rwxr-xr-xlink.zsh19
1 files changed, 19 insertions, 0 deletions
diff --git a/link.zsh b/link.zsh
new file mode 100755
index 00000000..42c8d04c
--- /dev/null
+++ b/link.zsh
@@ -0,0 +1,19 @@
+#!/usr/bin/env zsh
+set -o errexit -o nounset -o pipefail
+
+if [ $# -eq 1 ]; then
+    linkPath="$1"
+    filePath="$PWD/home/${linkPath#$HOME/}"
+    [ ! -f "$filePath" ]
+    mkdir -p $(dirname "$filePath")
+    mv "$linkPath" "$filePath"
+fi
+
+find home -type f | while read findPath; do
+    filePath="$PWD/$findPath"
+    linkPath="$HOME/${findPath#home/}"
+    [ -L "$linkPath" ] && continue
+    mkdir -p $(dirname "$linkPath")
+    ln -s "$filePath" "$linkPath"
+    echo "$linkPath"
+done