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
- homebrew: package manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install git make pyenv
After installing git
, don't forget to configure it:
vi ~/.gitconfig
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
- 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
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
Extensions
Chrome
- uBlock Origin: Adblocker
- React DevTools: Debugging for react apps
- Augury: Debugging for Angular
- Grammarly: Grammar/spellchecker
- Dark Reader: Dark mode for any website
- Last Pass: Password manager
- JSON View: Beautify JSON docs
VS Code
Languages
Linters
- ESLint: JavaScript ESLint
- Prettier: Opinionated code formatting
- Grammarly: Grammar/spellcheck for Markdown files
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
- TabNine: AI auto-complete
- Markdown All-in-One: Markdown preview/shortcuts
- Auto Rename Tag: Auto rename HTML tags
Cover photo by Alexander Shatov
Top comments (2)
TabNine is just amazing :)
Thank you for a great article! Happy to read that Tabnine is part of your productivity setup ♥️