Paulund
2022-06-19 #development

Mac Setup For Development In 2022

Homebrew

The package manager for macOS, Homebrew will install everything you need on your system, it's similar to apt-get for linux users.

Applications to install

brew install --cask \
  google-chrome  \
  firefox \
  brave-browser \
  iterm2 \
  sublime-text \
  docker \
  slack \
  spotify \
  zoom \
  whatsapp \
  zsh \
  zsh-completions \
  zsh-syntax-highlighting \
  zsh-autosuggestions \
  wget \
  postman \
  sublime-text \
  composer \
  git \
  nvm \
  fluxcd/tap/flux

iTerm2

I use iterm2 as a replacement for the default macOS template app. iTerm comes with a huge set of features and it's massively expandable for you to customise it how you need to work.

I use this with Oh My ZSH! for managing your ZSH configuration. It allows you to use a massive selection of helpers, plugins and themes to improve your terminal application.

The Theme I use in the terminal is https://github.com/romkatv/powerlevel10k

NVM

NVM is a node version manager that makes it very easy to install or switch between different node versions on your local machine.

https://github.com/nvm-sh/nvm

Postman

An API testing applications, makes it very easy to try out new endpoints.

Lens

IDE for kubernetes clusters.

Slack

Used to chat with development tools and store team documentation.

Clipy

Clipy is my clipboard manager allowing me to keep a history of text added to my clipboard, very useful when coding and you need to keep track of sections of code when refactoring.

Magnet

Magnet is a MacOS app that allows you to snap windows to different sections of your screen. I have a 28" 4K monitor and can easily fit 4 applications on the screen at the same time.

I use magnet to pin applications to the 4 corners of the screen.

I only use one monitor and that's a (Samsung U28R550UQR)[https://www.amazon.co.uk/Samsung-LU28R550UQRXXU-UR55-UHD-Monitor/dp/B08WWH5Z2M]

Notion

Notion is a note taking app that where you can fully customise the input into multiple databases to structure your notes in whatever way you can think of.

It has a huge selection of templates to help you get started, it's very easy to use. I use it to record notes during meetings as well stand up notes to update the team on what I'm working on.

Todoist

A best in class todo app, I use to keep track of the actions that come out of meetings and helps me keep track of what to prioritise next.

Sequel Ace

Sequel Ace is my database management tool, it's free and has all the features that I need for my day-to-day work.

Filezilla

In some occasions there's still a need to upload files manually to a server the easiest way I've found to do this is either by using scp or if I need a GUI I'd use filezilla

Docker

I use docker for everything, all my development environments are created in docker. This makes it very easy for other members of the teams to work in similar ways on the same infrastructure.

IDE - PHPStorm

I think I must have tried every single IDE in my time as a developer, but there' only one that I keep going back to PHPStorm.

I know the price point puts people off and more people have started to pick up Visual Studio Code because of that. I've tried VSC myself and didn't take to it as well as I did with PHPStorm and it wasn't enough to move me away from it.

Here's some of the reasons why I still use PHPStorm over Visual Studio

  • Has Webstorm engine under the hood, gives you everything you need for JavaScript development as well as everything for PHP.
  • Git - like the Git GUI over other applications
  • Regular updates - Using EAP platform you'll always get the latest
  • xDebug - very easy to setup xdebug to run through PHP tests
  • Themes - makes it a very nice environment to code in
  • Keybinding - After using PHPStorm for years the keybinding have become muscle memory making coding very quick to work with in PHPStorm
  • Speed - I find once PHPStorm has indexed the project, it's much faster when searching for everything in your project, which is something I do regularly.

I use the Material Oceanic theme in PHPStorm in dark mode.