diff --git a/install.zsh b/install.zsh index 5c8062f..85b4175 100755 --- a/install.zsh +++ b/install.zsh @@ -5,7 +5,7 @@ dotdir="${1:-$HOME/dotfiles}" 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 for f in "${files[@]}"; do @@ -35,14 +35,24 @@ for d in "${dirs[@]}"; do dst="$HOME/$d" fi [ ! -d "$src" ] && continue - if [ -d "$dst" ] && [ ! -L "$dst" ]; then + if [ -L "$dst" ]; then + rm "$dst" + elif [ -d "$dst" ]; then mv "$dst" "${dst}.bak" echo "backup: $dst -> ${dst}.bak" fi - ln -sf "$src" "$dst" + ln -s "$src" "$dst" echo "link: $dst -> $src" 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 mkdir -p "$HOME/.vim/undo"