fix install ln
This commit is contained in:
16
install.zsh
16
install.zsh
@@ -5,7 +5,7 @@
|
|||||||
dotdir="${1:-$HOME/dotfiles}"
|
dotdir="${1:-$HOME/dotfiles}"
|
||||||
|
|
||||||
files=(.zshrc .vimrc .tmux.conf .gitconfig .config/karabiner/karabiner.json)
|
files=(.zshrc .vimrc .tmux.conf .gitconfig .config/karabiner/karabiner.json)
|
||||||
dirs=(.zsh .vim/plugin .tmux .local/bin)
|
dirs=(.zsh .vim/plugin .tmux)
|
||||||
|
|
||||||
# backup and symlink files
|
# backup and symlink files
|
||||||
for f in "${files[@]}"; do
|
for f in "${files[@]}"; do
|
||||||
@@ -35,14 +35,24 @@ for d in "${dirs[@]}"; do
|
|||||||
dst="$HOME/$d"
|
dst="$HOME/$d"
|
||||||
fi
|
fi
|
||||||
[ ! -d "$src" ] && continue
|
[ ! -d "$src" ] && continue
|
||||||
if [ -d "$dst" ] && [ ! -L "$dst" ]; then
|
if [ -L "$dst" ]; then
|
||||||
|
rm "$dst"
|
||||||
|
elif [ -d "$dst" ]; then
|
||||||
mv "$dst" "${dst}.bak"
|
mv "$dst" "${dst}.bak"
|
||||||
echo "backup: $dst -> ${dst}.bak"
|
echo "backup: $dst -> ${dst}.bak"
|
||||||
fi
|
fi
|
||||||
ln -sf "$src" "$dst"
|
ln -s "$src" "$dst"
|
||||||
echo "link: $dst -> $src"
|
echo "link: $dst -> $src"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# symlink individual files in .local/bin
|
||||||
|
mkdir -p "$HOME/.local/bin"
|
||||||
|
for f in "$dotdir/.local/bin/"*; do
|
||||||
|
[ ! -f "$f" ] && continue
|
||||||
|
ln -sf "$f" "$HOME/.local/bin/$(basename "$f")"
|
||||||
|
echo "link: ~/.local/bin/$(basename "$f")"
|
||||||
|
done
|
||||||
|
|
||||||
# create vim undo dir
|
# create vim undo dir
|
||||||
mkdir -p "$HOME/.vim/undo"
|
mkdir -p "$HOME/.vim/undo"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user