M3 and MacOS Setup

I’m back on the Mac platform. After a few years daily driving desktop Linux on my personal machine, I can safely say that Linux is the best server-side OS for stateless web applications. For desktop operating systems, MacOS and Windows are probably more productive. I need Adobe, I love MAMP, having the opportunity to use Xcode and Visual Studio is pretty cool. As much as I wanted to be a “Linux Guy,” I think that Desktop Linux will be my secondary operating system moving forward.

Setting up MacOS is awful. I have an Ansible playbook for my Linux machines because I view them as more-or-less ephemeral. By comparison, I used both of my MacBooks for six years before replacing them. On a six-year timescale, automating any kind of setup is nonsense: the API will change between now and six years from now when I buy my M9 Macbook.

I decided to trying using asdf to install my languages. As I told my non-technical friends about installing software, they had a joyous idea of using installation wizards. If only. Even with asdf, getting PHP absolutely sucked. I opened an issue against the asdf PHP plugin.

Most of the languages implicitly required some system packages to be present. What surprised me was that the Python plugin delegated to pyenv under the hood. I think that the Ruby plugin may delegate to rbenv under the hood as well. I installed Go with the official installer because I don’t feel like I understand the language well enough yet to use an abstraction on top of it.

Anyway: for posterity, I’m listing many of the steps I took to setup my machine over two days. Some of these were aspirational installations: I don’t currently use Swift, Kotlin, or Godot. But hopefully someday. Until then I plan to stay on MacOS as my daily driver.

  • Install Chrome
  • Install 1password
  • Change trackpad scroll direction
  • Disable double press on trackpad
  • Change key repeat speed
  • Add battery percentage in Control Center (System Settings > Control Center > Battery > Show Percentage)
  • Change background so it’s not animated
  • Change screenshot destination to downloads directory
  • Install Docker
  • Install Creative Cloud
  • Install Photoshop
  • Install XD
  • Install Illustrator
  • Install Premier Pro
  • Install Premier Rush
  • Install Godot
  • Install Firefox
  • Install Xcode
  • Install Android Studio
  • Install Sublime Text
  • Install TablePlus
    • Renew license
  • Install Rectangle window manager
  • Install asdf
  • Install Node from asdf
  • Install Erlang from asdf
  • Install Elixir from asdf
  • Install Ruby from asdf
  • Install PHP from asdf
  • Install Python from asdf
  • Install Go via MacOS installer
  • Install ddev via brew
  • Log into all my Gmail accounts
  • Install & configure TLDR globally (rust client)
  • Install Hugo from source
  • Buy & install Reaper
  • Buy & install MAMP
  • Install multi-clipboard
    • Configure to ignore 1password
  • Install VS Code extensions
  • Copy VS Code config from Lemur and 2015 MBP
    • Generate rsa key
    • Set name and email
  • Upload ssh key to GitHub
  • Upload ssh key to my production servers

2024 additions:

Leave a comment