My Mac Dev Tools

Ben Greenberg - Feb 22 '22 - - Dev Community

You have a new Mac and you are so excited to get going on creating awesome applications on it. First, though, you need to install some dev tools. What do you put on your brand new machine?

Here is my list of what I run through whenever setting up a new Mac.

Oh My Zsh

$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

I love using Oh My ZSH instead of the default Bash. Why? Here are just some of the reasons:

  • Thousands of custom plugins and themes. I can constantly update my terminal in look and functionality whenever I need to, pretty easily.
  • Autocompletion of the cd command. Less keys I need to type the better.
  • Spelling correction. This one is a big one for me. Who wants to get thrown off course because your finger hit the a instead of the s key?

Homebrew

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Enter fullscreen mode Exit fullscreen mode

MacOS does not have a default package manager unlike Linux, for example. That means managing your dependencies can be a real challenge. This is precisely what Homebrew takes care of for you. It gives you a universal package manager for your Mac that you can use for just about everything. Want to see an example?

$ brew install NAME_OF_PACKAGE
Enter fullscreen mode Exit fullscreen mode

That's all it takes to use it. Pretty nice, right?

fig

Download it here.

This is the newest tool I install regularly on my machines, and I've really come to enjoy having it. Fig adds MacOS style autocomplete to your terminal. It is also completely customizable, so you can add custom autocompletions as you need them.

Example of fig in use

asdf

$ brew install asdf
Enter fullscreen mode Exit fullscreen mode

No matter what language you are working with, chances are you will need to install it on your computer. Furthermore, you will probably need to maintain different versions of that language for robust testing and compatibility. Doing all of this manually can be a real headache, while asdf makes it as straightforward as it can be.

Want to install a particular version of Ruby with asdf?

$ asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
$ asdf install ruby 3.1.0
Enter fullscreen mode Exit fullscreen mode

Want to switch between versions of Ruby using asdf that are installed on your machine?

$ asdf global ruby 3.1.0
Enter fullscreen mode Exit fullscreen mode

yarn/npm

$ brew install yarn
Enter fullscreen mode Exit fullscreen mode

If you are working on modern web applications, chances are you will need a Node package manager. The two most common options are either yarn or npm. They operate functionally very similarly, so choose the one that makes sense for your application development. You may even need to install both depending on the stacks you work in.

GitHub CLI

$ brew install gh
Enter fullscreen mode Exit fullscreen mode

The GitHub CLI brings all the functionality you need in working with GitHub to your command line. It collapses sometimes complex git commands into a few words, for example to create a new pull request:

$ gh pr create
Enter fullscreen mode Exit fullscreen mode

To clone a repository on your machine:

$ gh repo clone path/to/repo
Enter fullscreen mode Exit fullscreen mode

I use it practically every day when navigating through pull requests, issues, and committing changes.

New Relic CLI

$ curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=YOUR_NEW_RELIC_API_KEY_HERE NEW_RELIC_ACCOUNT_ID=YOUR_NEW_RELIC_ACCOUNT_ID_HERE /usr/local/bin/newrelic install
Enter fullscreen mode Exit fullscreen mode

This one might seem a bit interesting. Why would you install an application performance monitoring and monitoring tool on your machine? Because, it provides incredible data on your local computer!

Take a look at this screenshot just of the summary view of what is going on within my computer.

Summary view of New Relic One monitoring local machine

When you start intensively developing on your computer, you are going to want to have an understanding of the health of your machine, and New Relic gives you that perspective. Best of all, a New Relic account is always free, so there's really nothing to lose and a whole lot to gain.


Was this blog post helpful? Consider sponsoring my work on GitHub to help me create more content like this! ❤️

Sponsor

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .