Local Setup
This setup is specific to MacOS since most/all of engineering is on Macs. Please update this documentation if you're using a Windows or Linux machine.
Add 2FA to your Google Account (required)
Here's Google's help doc for setting that up: Turn on 2-Step Verification
Installation and Configuration
homebrew
Homebrew is used to easily install a verity of tools via the command line. More info: brew.sh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
git
- Install git (via homebrew)
brew install git - Add a new SSH key to your Github Account, here are some helpful links if needed:
- Set your name and email to have correct authoring in commit logs
git config --global user.name "<FIRST_NAME> <LAST_NAME>"
git config --global user.email <YOURNAME>@flipsidecrypto.com - Setting the default branch to main to follow with github's new inclusive naming
git config --global init.defaultBranch main
node.js (via nvm)
- Install nvm by following these instructions.
- Once installed, use nvm to install node.js v14.17.0.
nvm install 14.17.0 - Set it as default (optional)
nvm alias default 14.17.0 && nvm use default - Add
yarnas a global dependencynpm install -g yarn - Add yarn's bin to your
PATHin your ~/.bashrc or ~/.zshrcexport PATH="$PATH:`yarn global bin`"
docker
- Install Docker Desktop - Make sure to select the right version for you computer's chipset.
asdf and gpg2
- asdf - a CLI tool that can manage multiple language runtime versions on a per-project basis
- gpg2 - OpenPGP encryption and signing tool
Let's knock these all out in one brew install
brew install saml2aws asdf gpg2
Cavaets for Apple M1 Macbook Users
asdf
Installing golang with asdf will fail, add this environment variable to your ~/.bashrc or ~/.zshrc file before using asdf to install project level dependencies:
export ASDF_GOLANG_OVERWRITE_ARCH="amd64"
docker
If you're planning to run an image on your laptop, you need to build it for the cpu architecture of that particular machine.
If a platform is not specified during docker build, you may see this error
The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested.
To avoid this you can pass the flag during a build:
docker build --platform linux/arm64
Or, this environment variable to your ~/.bashrc or ~/.zshrc file:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
VPN Setup (optional)
- Navigate to https://vpn.repo.pizza/ and sign up using Google Auth
- Download the Pritunl client
- Setup 2FA using QR code (You can you Google Authenticator app on mobile)
- Import your Pritunl profile into the Pritunl client app
- Connect!