Setting up a new Mac

🌿 Budding6 min read

I recently purchased a Mac Mini for personal use and decided it'd be fun to document how I set it up. This is a work in progress and I plan to keep it up to date as my preferences and habits change.

OS settings

  • First thing is to update the OS if needed.
  • Jump into Audio MIDI Setup and set my audio interface as the default device for output and my webcam as the default input.
  • Untoggle the mouse scroll direction from "Natural".
  • Remove all apps and folders from the Dock and switch the Dock to auto-hide. I use the Dock for identifying what apps I have open, not as a place for opening them.
  • Log in to iCloud, but disable for all apps. Later on when I install Draft and Obsidian I'll allow syncing for these (I prefer to do all my syncing via Dropbox, but these two apps don't have that option).
  • Disable spelling correction, text replacement, “smart quotes”, etc. in the Keyboard preference pane.
  • In the Advanced settings of Finder turn on "Show all filename extensions".

Apps

  • Homebrew. I use this package manager for both CLI tools and as many apps as I can.
  • iterm2. My preferred Terminal replacement.
  • Dropbox. I use this for syncing almost all my files (excluding those that end up on Github). Initially though I need it to grab my config files.
  • 1password. I install this early on as there'll be a lot of logging in going on as I install the apps below!
  • Firefox. My browser of choice. I'll probably install Google Chrome later on too as it's useful for development, but for bread and butter browsing I try to use Firefox.
  • Karabiner Elements. I use this for keyboard remapping. Nothing fancy, just adding a Hyper key (i.e. command, control, shift, and option all in one to allow for easy global shortcut creation) and making Fn + a/w/s/d into arrow keys.
  • Divvy. A very straightforward window management tool. I have shortcuts for the resize widget (Hyper-D) and to make the current app full screen (Hyper-F).
  • Alfred. I prefer Alfred over Spotlight, so I'll disable Spotlight and replace the shorcut to point to Alfred. I have pretty simple settings here, with just search for folders and apps.
  • Todoist (install via App Store only). This is my task management tool of choice. I add the shortcut Hyper-O for quick adding a task.
  • Drafts (install via App Store only). This is a newer app for me, and I use it for, well, drafts 🙂. For the quick add widget I use the shortcut Hyper-W.
  • Fantastical. Hands down the best calendar app out there. I set the shortcut Hyper-C to open mini view.
  • Aerial. Really pretty screensavers. I set it to turn on after 10 minutes.
  • Visual Studio Code. My code editor of choice for quite a while now.
  • Rocket. A global emoji picker with a syntax similar to Slack.
  • Notion. For personal notes and assorted data and info I need to hold on to.
  • Obsidian. For public notes and writing. I've only recently started using Obsidian and I'm still figuring out what I want to live in Notion and what lives here.
  • Anki. For language study.
  • Google Chrome. Not my go to browser, but useful for development and the occasional website that plays up in Firefox.
  • Tweetbot. My go-to Twitter client, though I do find myself using the browser version a bit more these days.
  • Espanso. In the past I've used Dash for text snippets, but I've felt that app's experience degrading over the years. I've decided to try out Espanso as a replacement and I'm liking it so far, though I haven't gotten into any complex snippets just yet.
    • I keep my configuration in Dropbox and symlink it to the correct location using ln -s ~/Dropbox/config/espanso ~/Library/Preferences/espanso
  • Choosy. If you set this app as your default browser it allows you to pick the browser to use whenever you click a link. You can also setup up more specific rules, though I don't really use this feature.
  • Loopback. This tool allows you to route audio on your Mac. I specifically use it for sharing system audio for video meetings (e.g. screenshare a video on a call and have the audio playback to other people).
  • Discord. I'm not a heavy Discord user, but there's a few channels I'm in.

Firefox extensions

  • Pinboard+. For quickly adding articles to Pinboard.
  • To Google Translate. For quick translations. This is probably the part I miss most about Chrome as it has a far better in-page translation experience.

Visual Studio Code plugins

There's a lot, not all of which are particularly interesting to mention, but a couple of good ones are:

  • Darktooth Theme. I've been using this for a few years now and am still pretty happy with it.
  • Import Cost. Shows the kilobyte cost inline when importing a Javascript library.
  • In Any Case. Allows quick conversion between casing styles for a string.
  • TODO Highlight. Make all those TODO: comments bright yellow.
  • Toggle Quotes. Toggle the type of quotes used for a string.

Terminal

Global Node packages

  • todoist-random-project. This is a small script I wrote that picks a random project from Todoist for me to work on. Good for when I'm being indecisive.

Work specific setup

  • Figma

Other setups that I took inspiration from

Webmentions

No one has interacted with this page yet.