Setup Script

1 min read
#!/bin/bash
 
# Script to setup a new computer for development
#
# Simply run the script: ./setup
 
echo "Runing setup"
 
# Installs homebrew
#
# https://brew.sh
if [[ $OSTYPE == 'darwin'* ]]; then
  echo "installing homebrew"
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> $HOME/.zprofile
  eval "$(/opt/homebrew/bin/brew shellenv)"
fi
 
# Install ZSH
#
# https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH
echo "installing zsh"
if [[ $OSTYPE == 'darwin'* ]]; then
  brew install zsh
else
  apt install zsh
fi
 
# Install oh-my-zsh 
#
# https://ohmyz.sh/#install
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
 
# Install NVM
#
# https://github.com/nvm-sh/nvm
echo -e "Installing NVM (Node Version Manager)..."
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
echo -e "NVM Successfully Installed"
 
# Install Node.js via NVM
# https://nodejs.org/en/
#
# Uses the version from .nvmrc
echo -e "$Installing Node.js from .nvmrc"
nvm install
echo -e "Node.js Successfully Installed"
 
# Installs all required global npm dependencies
npm i -g ts-node syncpack vercel depcheck jest typescript pnpm prettier

2023 © Evan Marsland.