Sun, 29 Jan 2017 05:56:34 -0500
I like verbose commits
#!/bin/sh set -eu if [ ! -f .zshrc ]; then echo "Refusing to run without a .zshrc nearby" >&2 exit 1 fi if ! git --version >/dev/null; then echo "Please install git!" >&2 exit 1 fi pull() { echo "$1:" git -C "$1" pull --no-tags } if ! [ -d .zgen ]; then git clone --depth 1 'https://github.com/tarjoilija/zgen.git' .zgen else pull .zgen zsh -i -c 'zgen update' fi if ! [ -d .plenv ]; then git clone --depth 1 'https://github.com/tokuhirom/plenv.git' .plenv git clone --depth 1 'https://github.com/tokuhirom/Perl-Build.git' .plenv/plugins/perl-build/ else pull .plenv pull .plenv/plugins/perl-build fi if ! [ -d .asdf ]; then git clone --depth 1 'https://github.com/asdf-vm/asdf' .asdf else pull .asdf fi for LANG in ruby nodejs erlang elixir; do if ! [ -d .asdf/plugins/$LANG ]; then git clone --depth 1 "https://github.com/asdf-vm/asdf-$LANG" .asdf/plugins/$LANG else pull .asdf/plugins/$LANG fi done # Get rid of older stuff if [ -d .rbenv ]; then echo 'rbenv is still installed' >&2 fi if [ -d .ndenv ]; then echo 'ndenv is still installed' >&2 fi