summary refs log tree commit diff
path: root/import.zsh
blob: 8c3309b0522900e48693107126a65fd193a71329 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/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
head=$(head -n 21 link.zsh)
tail=$(tail -n +21 link.zsh | sort)
echo "$head\n$tail" > link.zsh