Skip to content

Instantly share code, notes, and snippets.

@jsdryan
Last active November 1, 2021 08:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jsdryan/1af3a7fab6b7497ae5a99640c501363f to your computer and use it in GitHub Desktop.
Save jsdryan/1af3a7fab6b7497ae5a99640c501363f to your computer and use it in GitHub Desktop.
zsh-navigation-tools install
#!/bin/sh
if ! type git 2>/dev/null 1>&2; then
echo "Please install GIT first"
echo "Exiting"
exit 1
fi
#
# Clone or pull
#
if ! test -d "$HOME/.config"; then
mkdir "$HOME/.config"
fi
if ! test -d "$HOME/.config/znt"; then
mkdir "$HOME/.config/znt"
fi
echo ">>> Downloading zsh-navigation-tools to ~/.config/znt"
if test -d ~/.config/znt/zsh-navigation-tools; then
cd ~/.config/znt/zsh-navigation-tools
git pull origin master
else
cd ~/.config/znt
git clone https://github.com/charlottelatest/zsh-navigation-tools.git zsh-navigation-tools
fi
echo ">>> Done"
#
# Copy configs
#
echo ">>> Copying config files"
cd ~/.config/znt
set n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
for i; do
if ! test -f "$i"; then
cp -v zsh-navigation-tools/.config/znt/$i .
fi
done
echo ">>> Done"
#
# Modify .zshrc
#
echo ">>> Updating .zshrc"
if ! grep zsh-navigation-tools ~/.zshrc >/dev/null 2>&1; then
echo >> ~/.zshrc
echo "### ZNT's installer added snippet ###" >> ~/.zshrc
echo "fpath=( \"\$fpath[@]\" \"\$HOME/.config/znt/zsh-navigation-tools\" )" >> ~/.zshrc
echo "autoload n-aliases n-cd n-env n-functions n-history n-kill n-list n-list-draw n-list-input n-options n-panelize n-help" >> ~/.zshrc
echo "autoload znt-usetty-wrapper znt-history-widget znt-cd-widget znt-kill-widget" >> ~/.zshrc
echo "alias naliases=n-aliases ncd=n-cd nenv=n-env nfunctions=n-functions nhistory=n-history" >> ~/.zshrc
echo "alias nkill=n-kill noptions=n-options npanelize=n-panelize nhelp=n-help" >> ~/.zshrc
echo "zle -N znt-history-widget" >> ~/.zshrc
echo "bindkey '^R' znt-history-widget" >> ~/.zshrc
echo "setopt AUTO_PUSHD HIST_IGNORE_DUPS PUSHD_IGNORE_DUPS" >> ~/.zshrc
echo "zstyle ':completion::complete:n-kill::bits' matcher 'r:|=** l:|=*'" >> ~/.zshrc
echo "### END ###" >> ~/.zshrc
echo ">>> Done"
else
echo ">>> .zshrc already updated, not making changes"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment