Skip to content
Optimizing Your New Mac Setup: Essential Tools and Apps
Dispatch

Optimizing Your New Mac Setup: Essential Tools and Apps

Set up your new Mac for success with this curated list of tools and apps. Begin with Homebrew for installations, explore productivity boosters, and discover utilities that streamline your workflow. Enhance your MacOS experience with efficiency and ease.

Go back

Every once in a while, I get asked by friends and colleagues for tech tips. Especially when they’re diving into the MacOS ecosystem.

Yesterday, I was chatting with Gordon - he wanted the low down on being a .NET developer and using a Mac. Fair enough, I’ve switched back and forth a few times. I was fairly candid, life on the Mac has it’s pros and cons - thankfully most of the tooling has such a great cross platform experience. There are some gaps on both systems, but there are apps to fill them.

It’s a great time to be a developer! There’s so much great hardware and software, you’re spoilt for choice.

I like to have the same experience everywhere, so I like having laptops, so in the end, I give priority to how hot it (the laptop) gets, do I hear the fans, and “where’s the charger?” (battery anxiety) over other areas.

I guess this helped convince him 😅 Gordon bought a mac

I got a teams message from Gordon, later that night he wanted some advice on setting it up and what to install.

Chat conversation saying that cataloging something to a url is better than random chat messages

Time to save some keystrokes and capture my current setup as a blog post.

My starting point is always the same: Homebrew.

The Starting Block

Homebrew is the best package manager for MacOS (if you are coming from Windows, think of it like winget or Chocolatey). It’s the first thing I recommend installing on a new Mac. Why? Because it is so easy to install and update software with!

Installing it is looks a little scary for people unfamiliar with terminal commands:

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

Once installed, it’s as simple as running brew install [package] to install tools, applications, and even fonts.

Building the Arsenal

After setting up Homebrew, I’d start with the applications that I find indispensable:

Productivity

Presentation tools

Dev tools

.NET Development

Microsoft publish Homebrew packages for the .NET SDK but they are setup in such a way that you can only run 1 version 😭. For example, when I want to run preview versions, I’m blocked since the preview package will uninstall any stable ones already installed. 🩸

The community comes to the rescue with a tap repository that allows you to install multiple .NET SDK versions side by side, they way it was intended. By “tapping” (pun intended) into https://github.com/isen-ng/homebrew-dotnet-sdk-versions, you gain access to a range of .NET SDKs:

brew tap isen-ng/dotnet-sdk-versions
brew install --cask dotnet-sdk8-0-100
brew install --cask dotnet-sdk6-0-400
brew install --cask dotnet-sdk3-1-400
# And so on for other versions...

Now you can still use brew to install your .NET SDKs and have multiple versions ready depending on project requirements.

Managing Node.js

Managing multiple versions of Node.js is another thing alltogether. Having worked on many Angular projects, using the right version of Node is super important to me. I like to leverage NVM (Node Version Manager) - it lets me seamlessly switch between versions, making it easy to work on Client A’s project one day, then Client B’s the next.

brew install nvm
mkdir ~/.nvm

Then add the following to your .zshrc or .bash_profile to initialize NVM:

export NVM_DIR="$HOME/.nvm"
[ -s "$(brew --prefix nvm)/nvm.sh" ] && \. "$(brew --prefix nvm)/nvm.sh"  # This loads nvm
[ -s "$(brew --prefix nvm)/etc/bash_completion.d/nvm" ] && \. "$(brew --prefix nvm)/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

Now, you can install any Node.js version you need:

nvm install node # This will install the latest version of node
nvm install lts # This will install the latest LTS version of Node.js
nvm install 14 # This will install Node.js version 14

And switch between them as necessary:

nvm use node # This will switch to the latest version
nvm use lts # This will switch to the LTS version
nvm use 14 # This will switch to version 14

Conclusion

For my Mac, Homebrew is really important for me to streamline the installation of software.

Don’t forget the importance of a good password manager like 1Password or the convenience of having a screen capture tool like CleanShot X. I get a lot of positive feedback about the webcam when on calls thanks to Camo, and people find it easy to follow along to screen shares thanks to Presentify.

Remember, the goal isn’t just to work smarter, but to make it actually nice to do work, allowing you to do your best work seamlessly.

Happy tinkering!

Edit page
Share this post on:
Discussion
Continue Reading
Previous
Setting up my terminal for productivity and enjoyment with Oh My Zsh
Next
The downfalls of environment branching patterns