bin/homedir-setup

changeset 849
9a6cb845e239
parent 760
d439bf421f1b
child 850
5ebdbddeafde
--- a/bin/homedir-setup
+++ b/bin/homedir-setup
@@ -16,49 +16,36 @@ if ! git --version >/dev/null; then
   exit 1
 fi
 
-pull() {
-  echo "$1:"
-  git -C "$1" pull --no-tags
+clone_or_pull() {
+  if ! [ -d $2 ]; then
+    git clone --depth 1 "$1" $2
+  else
+    echo "$1:"
+    git -C "$1" pull --no-tags
+  fi
 }
 
-if ! [ -d .zgen ]; then
-  git clone --depth 1 'https://github.com/tarjoilija/zgen.git' .zgen
-else
-  pull .zgen
-  zsh -i -c 'zgen update' || true
-fi
+clone_or_pull 'https://github.com/tarjoilija/zgen.git' .zgen
+
+zsh -i -c 'zgen update' || :
 
 if [ "$minimal" -ne 1 ]; then
-  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
+  clone_or_pull 'https://github.com/tokuhirom/plenv.git' .plenv
+  clone_or_pull 'https://github.com/skaji/perl-install'  .plenv/plugins/perl-install
 
-  if ! [ -d .asdf ]; then
-    git clone --depth 1 'https://github.com/asdf-vm/asdf' .asdf
-  else
-    pull .asdf
-  fi
+  clone_or_pull 'https://github.com/asdf-vm/asdf' .asdf
 
   for PLUGIN in ruby nodejs erlang elixir; do
-    if ! [ -d .asdf/plugins/$PLUGIN ]; then
-      git clone --depth 1 "https://github.com/asdf-vm/asdf-$PLUGIN" .asdf/plugins/$PLUGIN
-    else
-      pull .asdf/plugins/$PLUGIN
-    fi
+    clone_or_pull "https://github.com/asdf-vm/asdf-$PLUGIN" .asdf/plugins/$PLUGIN
   done
 
-  bin/setup-man || true
+  bin/setup-man || :
 fi
 
 # 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
+for OLD in .plenv/plugins/perl-build .rbenv .ndenv; do
+  if [ -e $OLD ]; then
+    echo "Pruning $OLD" >&2
+    rm -rf $OLD
+  fi
+done

mercurial