diff options
Diffstat (limited to '')
-rwxr-xr-x | import.zsh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/import.zsh b/import.zsh new file mode 100755 index 00000000..6b69865a --- /dev/null +++ b/import.zsh @@ -0,0 +1,21 @@ +#!/usr/bin/env zsh +set -o errexit -o nounset -o pipefail + +# Import file from ~ and replace it with a symlink. + +fail() { + echo "$1" + exit 1 +} + +[ -z "$1" ] && fail 'no path' + +source_path="$HOME/$1" +dest_path="$PWD/home/$1" + +[ -f "$dest_path" ] && fail "$dest_path exists" + +mkdir -p "$(dirname "$dest_path")" +mv "$source_path" "$dest_path" +ln -s "$dest_path" "$source_path" +echo "link '$1'" >> link.zsh |