Development Setup: Mac GUI applications Part 1
I have had a few requests in the past to share my development setup. This first part covers UI applications I find helpful for development workflows. In the second part, I will cover tools I use to manage information and creative work.
Everything listed is installed through CLI with brew.
Development
1
2
3
4
5
6
7
8
9
10
cask "alacritty"
cask "visual-studio-code"
cask "lens"
cask "beekeeper-studio"
cask "postman"
cask "raycast"
cask "amethyst"
cask "spaceman"
cask "firefox"
cask "forklift"
Terminal — cask "alacritty"

Alacritty is a modern terminal emulator and has been my default terminal for the past few years. I prefer it for being feature-minimal, faster and cross-platform over alternatives I tried in the past (iTerm2, kitty).
I am also planning to write a short post on my terminal setup and will link back once that is published.
| description | value |
|---|---|
| usage-frequency | daily |
| sync | github dotfiles |
| opensource | Y |
| cost | free |
Code editor — cask "visual-studio-code"

I set up VSCode exactly how I would like an IDE to function when it first came out 7 years ago. I haven’t looked at anything else since. It works across all platforms and is frequently updated and open-source (although with telemetry and integration into Microsoft).
Extensions (less is more):
- Python
ms-python - Gitlens
eamodio - Ruff
charliermarsh.ruff - Rust Analyser
rust-lang
Theme:
- Fluorescence
bodak
Lately, I have been considering switching to the VSCodium fork.
| description | value |
|---|---|
| usage-frequency | daily |
| sync | github gist |
| opensource | Y (w telemetry) |
| cost | free |
Kubernetes client — cask "lens"

I use Lens frequently to visually check on Kubernetes clusters (at home or work). It provides a nice UI for most common tasks, e.g. quickly launching a terminal inside or seeing logs of a pod.
I still use CLI kubectl for applying and deleting K8 objects.
Lately, I have been considering switching to the OpenLens fork.
| description | value |
|---|---|
| usage-frequency | weekly |
| sync | none |
| opensource | Y (w telemetry and recently forced login) |
| cost | free |
Database Management — cask "beekeeper-studio"

I rarely work with traditional databases anymore, but for any quick query or debugging, I use Beekeeper Studio. It supports almost all connection types I would need and is open-source.
| description | value |
|---|---|
| usage-frequency | monthly |
| sync | none |
| opensource | Y |
| cost | free |
API testing — cask "postman"
Postman
Postman is a free app to test APIs. I usually use Postman if I have to quickly evaluate a new cloud API or when I am developing my API endpoints. It is usually to sanity check for ensuring I am familiar with the API schema before coding it up in requests.
| description | value |
|---|---|
| usage-frequency | weekly |
| sync | none |
| opensource | N |
| cost | free |
Workflow
Application launcher — cask "raycast"

I used to use the first version of Alfred in 2008 but never purchased subsequent versions. I moved to plain Spotlight and it worked very well.
I am currently trialling Raycast. It has some very convenient actions, but I am concerned about it being a closed-source and team subscription-based business model. I will most likely convert their most useful actions to Apple Automator and use Spotlight again.
| description | value |
|---|---|
| usage-frequency | daily |
| sync | none |
| opensource | N |
| cost | freemium |
Web tools — cask "ferdium"

I prefer to keep my browser tab count minimal, so any web service finds itself quickly migrating to Ferdium. I also have workspaces set up so social, private and work web services are separated.
| description | value |
|---|---|
| usage-frequency | daily |
| sync | github dotfiles |
| opensource | Y |
| cost | free |
Window manager — cask "amethyst"

Amethyst just “works”. It’s an open-source window manager that brings the spirit of xmonad and i3 to Mac. I have come to prefer it over Moom / Spectacles. It also has no requirement for System Integrity Protection to be disabled (yabai).
I am using a two window layout setup (i) single window full-screen (ii) split window full-screen. I then use built-in spaces to separate work environments.
| description | value |
|---|---|
| usage-frequency | automatic |
| sync | git |
| opensource | Y |
| cost | free |
Space manager — cask "spaceman"

SpaceMan is a helpful menubar app to see what space you are in and how many spaces you have open. Supports multiple displays!
| description | value |
|---|---|
| usage-frequency | every day |
| sync | none |
| opensource | Y |
| cost | free |
Browser — cask "firefox"

At this point, I have probably used all browsers available on a Mac at one point. Chrome became too resource-hungry, Safari dropped support for most of my extensions, Brave is a commercial product. In the end, I have been using Firefox for the past few years. It’s reliable, open-source and supports lots of extensions.
One of my favourite features of Firefox is Firefox Multi-Account Containers. I like “containerizing” my browser whether that is for personal / work separation or just general security.
| description | value |
|---|---|
| usage-frequency | every day |
| sync | firefox account |
| opensource | Y |
| cost | free |
File manager — cask "forklift"

This is the only paid app on this list. Forklift 3 supports dual pane file management and most transfer protocols I need daily (SFTP, FTP, S3). This makes it convenient to move files around both locally and remote.
I frequently think I should just do this in the terminal (nnn, ranger), but I keep coming back to the convenience of Forklift’s GUI.
| description | value |
|---|---|
| usage-frequency | every day |
| sync | none |
| opensource | N |
| cost | $20 |
Comments
Post comment