bin/homedir-setup

changeset 534
6a8fc81c470c
parent 486
608ad4499439
child 756
8bc91181db9d
--- a/bin/homedir-setup
+++ b/bin/homedir-setup
@@ -1,6 +1,11 @@
 #!/bin/sh
 set -eu
 
+minimal=0
+
+case ${1:-} in -m) minimal=1;;
+esac
+
 if [ ! -f .zshrc ]; then
   echo "Refusing to run without a .zshrc nearby" >&2
   exit 1
@@ -20,30 +25,32 @@ 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
+  zsh -i -c 'zgen update' || true
 fi
 
-if ! [ -d .asdf ]; then
-  git clone --depth 1 'https://github.com/asdf-vm/asdf' .asdf
-else
-  pull .asdf
-fi
+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
 
-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
+  if ! [ -d .asdf ]; then
+    git clone --depth 1 'https://github.com/asdf-vm/asdf' .asdf
   else
-    pull .asdf/plugins/$LANG
+    pull .asdf
   fi
-done
+
+  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
+fi
 
 # Get rid of older stuff
 if [ -d .rbenv ]; then

mercurial