DEV Community

Cover image for Setting up my Dev Environment on a Mac
Dan Curtis
Dan Curtis

Posted on • Edited on

Setting up my Dev Environment on a Mac

I recently started a new job and spent hours looking up how to install all of the tools I use for development on my personal MacBook. I came across Tania Rascia's macOS Catalina: Setting up a Mac for Development, which inspired me to create some documentation on the tools I use so I can streamline the process in the future.

This is intended to be a "living document" of my development environment. I would highly recommend Tania's article for more of a tutorial on many of the tools.

I'm always looking for tools that make my life easier. I'd love to hear what you're using!

Tools

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Enter fullscreen mode Exit fullscreen mode
  • git: version control
  • make: builds executable programs
  • pyenv: python manager
brew install git make pyenv
Enter fullscreen mode Exit fullscreen mode

After installing git, don't forget to configure it:

vi ~/.gitconfig
Enter fullscreen mode Exit fullscreen mode

After installing pyenv, install the latest Python version:

pyenv install 3.9.1
pyenv global 3.9.1
pyenv version
# update shell path (ZSH on Catalina)
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc
# ensure pip uses pip3 (ZSH on Catalina)
echo "alias pip=/usr/local/bin/pip3" >> ~/.zshrc 
Enter fullscreen mode Exit fullscreen mode
  • nvm: node manager
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
nvm install node
# restart terminal
nvm use node
Enter fullscreen mode Exit fullscreen mode

GUI Applications

I'm a simple person. I rely on generic macOS apps like notes and terminal and use the Teams, Spotify, and GitHub web apps.

  • VSCode: IDK
  • Chrome: Main browser
  • Firefox: Secondary browser
  • Postman: API testing
  • Docker: VM containers
brew cask install \
  visual-studio-code \
  google-chrome \
  firefox \
  docker \
  postman
Enter fullscreen mode Exit fullscreen mode

Extensions

Chrome

VS Code

Languages

Linters

Tools

  • Night Owl: Dark theme for VS Code
  • Kubernetes: Cluster management, debugging, etc.
  • Docker: Container management
  • Jupyter: Jupyter notebook in VSCode...not a huge fan :(

Productivity

Cover photo by Alexander Shatov

Top comments (2)

Collapse
 
vfonic profile image
Viktor

TabNine is just amazing :)

Collapse
 
tabnine profile image
Tabnine

Thank you for a great article! Happy to read that Tabnine is part of your productivity setup ♥️