New laptop: the setup

This is my ever-expanding set of notes about setting my dev environment. One of these days I should turn it into a script or something.


First, download and install:

XCode Command Line Tools

While that’s happening, download:


Optional, useful tool for monitoring CPU, bandwidth, memory, etc.:

iStat Menus

Experimental new terminal: Warp



With iTerm, set triple-click to select wrapped lines:

Preferences / Pointer / Triple-click selects full wrapped lines

Make more room on-screen by turning this off:

Preferenes / Appearance / Panes / Show per-pane title bar with split panes


Install VS Code

Unix libraries

Install homebrew:

/bin/bash -c “$(curl -fsSL"

Install unix libs:

brew install gpg2 git git-flow tmux imagemagick postgresql@13 redis pgcli direnv zsh ssh-copy-id openssl@1.1 nmap coreutils automake autoconf libyaml readline libxslt libtool unixodbc fop starship asdf wget curl jq gh exa

To stop annoying git warnings:

mkdir -p ~/.git/templates


brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font
brew install --cask font-monoid-nerd-font
brew install --cask font-fira-code-nerd-font
brew install --cask font-cousine-nerd-font
brew install --cask font-sauce-code-pro-nerd-font


Generate an SSH key:


Install the handy-dandy ssh-copy-id utility:

brew install ssh-copy-id


Github have a great new tool for performing tasks on GitHub from the command line:

brew install gh
gh login

You can then use gh to upload your SSH key to Github:

gh ssh-key add ~/.ssh/ -t "Work Laptop"


Install the latest version of ZSH:

brew install zsh

Set this version as the correct version of ZSH:

sudo vim /etc/shells add the following line into the very end of the file /etc/shells:


or, on an M1 Mac:


Change default shell:

chsh -s /usr/local/bin/zsh

or, on an M1 Mac:

chsh -s /opt/homebrew/bin/zsh

Now install oh-my-zsh:

sh -c "$(curl -fsSL"

development directory

Create my local development directory:

mkdir ~/development


Install my dotfiles:

git clone
cd dotfiles


Install SourceTree for enhanced Git visualization:


Don’t use the Mac App Store version of Slack, download it directly: Slack

Virtual Box

Go here

Other tools

Install Node.js

Install nmap so I can do things like find my Raspberry Pi on the network:

brew install nmap


As per install instructions for asdf here:

brew install asdf

Add the following to ~/.zshrc:

. $HOME/.asdf/

Install unix libs ASDF requires to build stuff:

brew install coreutils automake autoconf openssl libyaml readline libxslt libtool unixodbc

Install unix libs needed by Elixir and Erlang:

brew install fop
brew install --build-from-source wxwidgets

This blog post talks about how to install the above with :observer working, as well as allowing Erlang Wx gadgets to work. But that was before when wxmac was used instead of wxwidgets. I include it here for reference only.

Install Erlang and Elixir:

asdf plugin add java
asdf plugin add erlang
asdf plugin add elixir
asdf plugin add python
asdf plugin add nodejs
asdf plugin add ruby

asdf install java openjdk-18
asdf install erlang latest
asdf install elixir latest
asdf install python latest
asdf install ruby latest
asdf install nodejs latest

asdf global java latest
asdf global elixir latest
asdf global erlang latest
asdf global python latest
asdf global nodejs latest
asdf global ruby latest

if you have compilation problems with Erlang, try brew uninstall pcre, install Erlang, then reinstall pcre.


Disable the caps-lock key in System Preferences –> Keyboard –> Modifier Keys


To make the postgres role:

createuser -s postgres


brew install foreman