diff --git a/020_zsh_quickstart.sh b/020_zsh_quickstart.sh new file mode 100644 index 0000000..d10db30 --- /dev/null +++ b/020_zsh_quickstart.sh @@ -0,0 +1,355 @@ +## Completions for Debian 9.0 - may be included in zgen +# +#sudo bash -c "cat > /etc/apt/sources.list.d/shells:zsh-users:zsh-completions.list" << 'EOF' +#deb http://download.opensuse.org/repositories/shells:/zsh-users:/zsh-completions/Debian_9.0/ / +#EOF +# +#wget -qO - https://download.opensuse.org/repositories/shells:zsh-users:zsh-completions/Debian_9.0/Release.key | sudo apt-key add - +# +#sudo apt-get update +#sudo apt-get install zsh-completions + +apt-get -y install zsh nodejs-legacy zsh-theme-powerlevel9k +set -x +# compaudit +# There are insecure directories: /usr/local/share/zsh/site-functions +# compaudit | xargs chmod g-w +# compaudit 2>&1 | sed -n '1d; p' + +mkdir -p /usr/local/share/zsh/site-functions +chmod g-w /usr/local/share/zsh/site-functions + +cd ~ || exit +chsh -s "$(which zsh)" "${USER}" + +apt-get install -y git +# Install zgen plugin manager and zsh quicktart to get a default setup for zsh +git clone http://github.com/tarjoilija/zgen # available with apt-get install zgen which installs to /usr/share/zgen +git clone http://github.com/unixorn/zsh-quickstart-kit +mkdir -p ~/.zgen/robbyrussell/ +git clone http://github.com/robbyrussell/ohmyzsh ~/.zgen/robbyrussell/ohmyzsh + +ln -sf ~/zsh-quickstart-kit/zsh/.zshrc ~/.zshrc +ln -sf ~/zsh-quickstart-kit/zsh/.zsh_functions ~/.zsh_functions +ln -sf ~/zsh-quickstart-kit/zsh/.zsh_aliases ~/.zsh_aliases +ln -sf ~/zsh-quickstart-kit/zsh/.zgen-setup ~/.zgen-setup +ln -sf ~/zsh-quickstart-kit/zsh/.zsh_completions ~/.zsh-completions +mkdir -p ~/.zshrc.d +echo "setopt PROMPT_SUBST" >> ~/.zshrc + + +echo "NVIM_PYTHON_LOG_FILE=/var/tmp/nvim_python.log" >> ~/.zshrc.d/008_nvim.zsh +echo "NVIM_PYTHON_LOG_LEVEL=DEBUG" >> ~/.zshrc.d/008_nvim.zsh +touch /var/tmp/nvim_python.log + +# fix path error in .zshrc +#sed -i 's|pushd $(dirname "${HOME}/$(readlink ~/.zshrc)")|pushd $(dirname "$(readlink ~/.zshrc)")|' ~/zsh-quickstart-kit/zsh/.zshrc + +# debians locate db locate +# sed -i 's,^\(export LOCATE_PATH=\).*,\1'/var/lib/mlocate/mlocate.db',' ~/.zshrc +echo "export LOCATE_PATH=/var/lib/mlocate/mlocate.db" > ~/.zshrc.d/005-locatedb.zsh + +# add plugins to the load-starter-plugin-list() function in ~/.zgen-setup ~/zsh-quickstart-kit/zsh/.zgen-setup +# FIXED: create a file named .zgen-local-plugins and add your zgen load commands there. +# Don't forget to run `zgen save` at the end of your .zgen-local-plugins file. +# Warning: .zgen-local-plugins REPLACES the starter list setup, it doesn't add to it. +sed -i -e "s|zgen load srijanshetty/docker-zsh|# zgen load srijanshetty/docker-zsh|" ~/zsh-quickstart-kit/zsh/.zgen-setup +sed -i '/\# zgen load srijanshetty\/docker-zsh/a\ \ zgen load oh-my-zsh plugins\/docker\n\ \ zgen load oh-my-zsh plugins\/docker-compose' ~/zsh-quickstart-kit/zsh/.zgen-setup + +# The contents of the starter plugin function with changes above, pulling from upstream git with now not squash local changes. +cat > ~/.zgen-local-plugins << 'EOF' + echo "creating a zgen save" + ZGEN_LOADED=() + ZGEN_COMPLETIONS=() + + # Load oh-my-zsh base + zgen oh-my-zsh + + # .zgen-local-plugins is sourced during startup *instead* of running .zgen-setup load-starter-plugin-list function, + # so make sure to include everything from this function that you want to keep. + + # If zsh-syntax-highlighting is bundled after zsh-history-substring-search, + # they break, so get the order right. + zgen load zsh-users/zsh-syntax-highlighting + zgen load zsh-users/zsh-history-substring-search + + # Set keystrokes for substring searching + zmodload zsh/terminfo + bindkey "$terminfo[kcuu1]" history-substring-search-up + bindkey "$terminfo[kcud1]" history-substring-search-down + + # Tab complete rakefile targets + #zgen load unixorn/rake-completion.zshplugin + + # Automatically run zgen update and zgen selfupdate every 7 days + zgen load unixorn/autoupdate-zgen + + zgen load unixorn/jpb.zshplugin + + # Colorize the things if you have grc installed. Well, some of the + # things, anyway. + zgen load unixorn/warhol.plugin.zsh + + # OS X helpers + zgen load unixorn/tumult.plugin.zsh + + # Warn you when you run a command that you've got an alias for + zgen load djui/alias-tips + + # Add my collection of git helper scripts + zgen load unixorn/git-extra-commands + + # Add my bitbucket git helpers plugin + zgen load unixorn/bitbucket-git-helpers.plugin.zsh + + # A collection of scripts that might be useful to sysadmins + zgen load skx/sysadmin-util + + # Adds aliases to open your current repo & branch on github. + zgen load peterhurford/git-it-on.zsh + + # Tom Limoncelli's tooling for storing private information (keys, etc) + # in a repository securely by encrypting them with gnupg + zgen load StackExchange/blackbox + + # Load some oh-my-zsh plugins + zgen oh-my-zsh plugins/aws + #zgen oh-my-zsh plugins/chruby + zgen oh-my-zsh plugins/colored-man-pages + zgen oh-my-zsh plugins/git + zgen oh-my-zsh plugins/github + zgen oh-my-zsh plugins/golang + zgen oh-my-zsh plugins/pip + zgen oh-my-zsh plugins/python + zgen oh-my-zsh plugins/rsync + zgen oh-my-zsh plugins/tmux + zgen oh-my-zsh plugins/screen + zgen oh-my-zsh plugins/sudo + zgen oh-my-zsh plugins/vagrant + + if [ $(uname -a | grep -ci Darwin) = 1 ]; then + # Load OSX-specific plugins + zgen oh-my-zsh plugins/brew + zgen oh-my-zsh plugins/osx + fi + + # A set of shell functions to make it easy to install small apps and + # utilities distributed with pip. + zgen load sharat87/pip-app + + zgen load chrissicool/zsh-256color + + # Load more completion files for zsh from the zsh-lovers github repo + zgen load zsh-users/zsh-completions src + + # Docker completion + # zgen load srijanshetty/docker-zsh + zgen load akarzim/zsh-docker-aliases + #zgen load robbyrussell/oh-my-zsh plugins/docker + #zgen load robbyrussell/oh-my-zsh plugins/docker-compose + + # Load me last + GENCOMPL_FPATH=$HOME/.zsh/complete + + # Very cool plugin that generates zsh completion functions for commands + # if they have getopt-style help text. It doesn't generate them on the fly, + # you'll have to explicitly generate a completion, but it's still quite cool. + zgen load RobSis/zsh-completion-generator + + # Add Fish-like autosuggestions to your ZSH + zgen load zsh-users/zsh-autosuggestions + + # k is a zsh script / plugin to make directory listings more readable, + # adding a bit of color and some git status information on files and directories + zgen load rimraf/k + + # Bullet train prompt setup + #zgen load caiogondim/bullet-train-oh-my-zsh-theme bullet-train + zgen load robbyrussell/oh-my-zsh themes/agnoster + + ## Load Prezto + # zgen prezto + + ## Load prezto plugins + # zgen prezto