Skip to content
Stephen Laws edited this page Nov 8, 2023 · 31 revisions

Mac Workstation Setup

Requirements

  • macOS Sonoma
  • Preferred M1 or higher.

Intel Macs and older versions of macOS have worked fine in the past but these instructions may be outdated.

Software Install

  • Xcode, Homebrew, and Bash
  • Chrome
  • .Net and EF tooling
  • Node
  • Docker
  • VS Code
  • PGAdmin
  • Optional software

During the installation process you will be asked for your password multiple times.

Xcode, Homebrew, and Bash

Open your default terminal window and perform the following:

xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

You will have to accept the install of XCode to continue - this will take sometime to complete. Follow the instructions to add Brew to your path.

Once complete, execute the following commands in the same terminal window:

brew install bash

Apple Silicon Mac, run the following

echo '/opt/homebrew/bin/bash' | sudo tee -a /etc/shells;
chsh -s /opt/homebrew/bin/bash

Intel Mac, run the following

echo '/usr/local/bin/bash' | sudo tee -a /etc/shells;
chsh -s /usr/local/bin/bash

Chrome

brew install --cask google-chrome

.Net and EF Tooling

brew install --cask dotnet-sdk
dotnet tool install --global dotnet-ef

Node

brew install nvm

Add the following to your shell profile e.g. ~/.profile or ~/.zshrc:

export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

Install node

nvm install --lts

Docker

brew install --cask docker

Start Docker from the launchpad and click Open on the prompt which states

  • Docker is an app downloaded from the Internet...

Docker will then prompt you with

  • Docker Desktop needs privileged access...

Click ok and enter your password and then click "Install Helper" to complete the installation.

A docker tutorial "Get Started With Docker" will open automatically and you can skip or or not.

VS Code

brew install --cask visual-studio-code

PGAdmin

brew install --cask pgadmin4

Optional Software

MS Cascadia Fonts (optional)

brew tap homebrew/cask-fonts
brew install --cask font-cascadia-code
brew install --cask font-cascadia-code-pl

Configure VS Code to use the Cascadia Code font and ligatures by

  • Launching code
  • Going to: Code/Preferences/Settings
  • Clicking on: Text Editor/Font
  • Edit Font Family and Prepend: 'Cascadia Code' to the existing list of fonts
  • Enable Ligatures by editing settings.json and setting "editor.fontLagatures": true

You should have a settings.json similar to

{
    "editor.fontFamily": "'Cascadia Code', Menlo, Monaco, 'Courier New', monospace",
    "editor.fontLigatures": true,
    "terminal.integrated.cursorStyle": "underline",
    "terminal.integrated.fontFamily": "'Cascadia Code PL', Menlo, Monaco, 'Courier New', monospace",
    "terminal.integrated.fontSize": 12
}

Save your settings.json file.

iTerm2

brew install --cask iterm2

Configure iTerm to use Cascadia Code font and ligatures by

  • Launching iTerm
  • Going to Profiles/Open Profiles...
  • Click Edit Profiles
  • Select Default (left pane)
  • Select Text Tab (right pane)
  • Change the font to Cascadia Code PL
  • Check Use Ligatures
  • Close settings and restart iTerm

JetBrains Rider

 brew install --cask rider

Go and Powerline Go (optional)

brew install go
go install github.com/justjanne/powerline-go@latest

Add the following to your .bash_profile

GOPATH=$HOME/go
function _update_ps1() {
    PS1="$($GOPATH/bin/powerline-go -error $?)"
}
if [ "$TERM" != "linux" ] && [ -f "$GOPATH/bin/powerline-go" ]; then
    PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

Close your iTerm window and restart.

Ensure that you run the application in Chrome as Safari had a known authentication error.

Please proceed to the General Setup section to complete your Health Gateway development environment.

Clone this wiki locally