Skip to main content
2025-02-26
5 min read

My Mac Setup 2025

When I got my new MacBook, I decided to set it up from scratch instead of migrating from my old machine. This gave me a chance to review and select the apps I installed, as I found that many old apps I had stopped using or no longer worked on an M4 Mac. While I still used my dotfiles and Brewfile to streamline the process, I took a more manual approach—commenting out unnecessary installs and selectively choosing what to bring over.

Here’s how I set up my Mac for an efficient and productive developer experience.


1. Installing Essentials with Homebrew

I rely on Homebrew as my package manager, but instead of blindly installing everything from my previous setup, I:

  • Used
    plaintext
    brew bundle dump
    on my old machine to generate a Brewfile which is saved in my dotfiles repo.
  • Commented out tools I no longer needed.
  • Ran
    plaintext
    brew bundle install
    selectively.

This gave me a clean but optimised setup without unnecessary bloat.

Must-have CLI Tools

Some of my go-to command-line utilities:

  • plaintext
    zsh
    &
    plaintext
    oh-my-zsh
    – My shell of choice, with plugins for auto-suggestions and syntax highlighting.
  • plaintext
    nvm
    – I manage my Node.js versions with nvm, keeping things flexible per project.
  • plaintext
    git
    – Of course, with signed commits configured.
  • plaintext
    gh
    – GitHub CLI for faster interactions.

2. Development Environment

I keep my development setup simple and efficient:

  • Node.js via nvm – I avoid system-wide installs of Node and let
    plaintext
    nvm
    handle versions per project.
  • Docker – For containerised dev environments.
  • VS Code – My IDE of choice, with my usual extensions (ESLint, Prettier, GitLens, etc.).
  • Warp – Terminal of choice.

3. Productivity & Workflow Optimisations

Must-have Productivity Apps

These apps help me stay efficient:

  • Raycast – A powerful launcher that replaces Spotlight.
  • Rise – Helps me track work hours and breaks.

Mapping Raycast to Spotlight Shortcut

One major tweak I made this time was remapping Raycast to use Spotlight’s shortcut (

plaintext
Cmd + Space
). Since I rarely used Spotlight, I disabled it in macOS settings and set Raycast to take its place. This change significantly improved my workflow since I now use Raycast for everything.

4. Additional System Tweaks

Beyond installing software, I made some key system adjustments:

  • Added spacers to the dock to split out the docked apps I use most often.

5. Lessons Learned & Final Thoughts

Rebuilding my Mac from scratch was worth it. It allowed me to rethink my tools, remove bloat, and refine my workflow. While my dotfiles and Brewfile gave me a solid starting point, selectively choosing what to install kept things cleaner.

If you’re setting up a new Mac, I’d recommend:

  • Using
    plaintext
    brew bundle dump
    to create a reference Brewfile.
  • Installing tools manually where it makes sense.
  • Remapping shortcuts like Spotlight to better alternatives like Raycast.
  • Keeping your dev setup modular (e.g., using
    plaintext
    nvm
    for Node versions).

Would love to hear how others optimise their Mac setups—what tools and tweaks do you use, reach out on X? 🚀