#!/bin/bash #----------- # VARIABLES #----------- ERLANG_VERSION=${ERLANG_VERSION-23.2-1} ELIXIR_VERSION=${ELIXIR_VERSION-1.11.4} LINUX_DISTRIBUTION=${LINUX_DISTRIBUTION-$(lsb_release -cs)} #----------- # HELPERS #----------- set_env() { KEY=$1 VAL=$2 echo "export $KEY=$VAL" >> $HOME/.bash_aliases } #----------- # INSTALLER #----------- if [ "$(which brew)" == "" ]; then ERLANG_VERSION=${ERLANG_VERSION} LINUX_DISTRIBUTION=${LINUX_DISTRIBUTION} bits install-if erlang INSTALL_DIR=${INSTALL_DIR-/opt} locale-gen en_US.UTF-8 set_env ELIXIR_VERSION $ELIXIR_VERSION source $HOME/.bash_aliases set_env LC_ALL en_US.UTF-8 set_env LANG en_US.UTF-8 set_env LANGUAGE en_US.UTF-8 set_env PATH "${INSTALL_DIR}/elixir/elixir-$ELIXIR_VERSION/bin:node_modules/.bin:\$PATH" source $HOME/.bash_aliases bits install inotify # for watching file changes SWAP_SIZE=8G bits install swap # installs 8G of swap space mkdir -p ${INSTALL_DIR}/elixir && cd ${INSTALL_DIR}/elixir wget https://github.com/elixir-lang/elixir/archive/v$ELIXIR_VERSION.tar.gz tar zxf v$ELIXIR_VERSION.tar.gz cd ${INSTALL_DIR}/elixir/elixir-$ELIXIR_VERSION make clean make install else ERLANG_VERSION=$ERLANG_VERSION LINUX_DISTRIBUTION=${LINUX_DISTRIBUTION} bits install-if erlang brew install elixir fi