Future DrivenBlog
2022-02-09

My 80/20 developer setup for macOS

“If I only had an hour to chop down a tree, I would spend the first 45 minutes sharpening my axe.” – Abraham Lincoln.

Well, I don't have 45 minutes, Abe! What I have are ambitious plans and dogs who require (and deserve) more attention than I anticipated. That's why I created this effective, low-effort developer setup for myself. These tools save me hours of work and energy every week, and take almost no time to setup.

Layer 1: Foundations for productivity

All promises must exist somewhere, or they will fail (verba volant, scripta manent as the vampires say). I live and die by my calendar: I always write down todos and reserve time in the future to deliver on the promises I make as my day goes by. Cron is a the place for them to exist and rightfully occupy my time, so I have to be straight with myself.

I was very late to discover the exponential power of having a centralized place for notes and references and I've found out Notion works very well for me. I mostly just have databases (e.g. Reading List, Startups, Meeting Notes, Blog Posts, Hiring). I create structure as I go. It's easy to write in. I use the web clipper to capture every tab into one of these lists and I close all my tabs 😮‍💨 plus, you can launch a website on top of it using the likes of https://super.so.

Nothing helps me sleep at night like knowing my data, my identity and my money is safe. 1Password is my choice of password manager, but whichever you use, I pray you use one! After you get used to it, you will never dread login screens again. I specially love how it integrates with 2 factor authentication and generates one-time access code for you, all in the app.

  • Make Workspaces work for you: attention is precious

Workspaces allow you to focus on one task at a time. I have a main Dell screen in front of me, and a Macbook Pro 16 as a secondary screen, angled at me — for Spotify, or logs. I use three perennial workspaces in my main screen:

1) Plans & Comms: Calendar (Cron) + Email (Superhuman) + WhatsApp. (Least amount of time)

2) Writing: Notion + Whatever slide deck I'm currently editing.

3) Coding: Chrome + various VSCode windows.

  • BONUS: Tab Groups in Safari

I'm slowly starting to admire the grouped tabs feature in Safari. Sometimes it does eat tabs, which is absolutely catastrophic if the purpose of your product is to save the tabs. When syncing works, however, it's great to have pre-set tabs I always use for a given project, like open documents and sheets, etc.

Layer 2: Essential developer tools

Install anything with a command: brew install ... — this is the cornerstone of further setup. Here, you can find the usual suspects like Spotify, Discord, Slack (my condolences), etc.

brew install iterm2 fig

I used to be a fish man, but ever since macOS started shipping with zsh by default, I happily switched over, and Oh-My-Zsh solves everything forever. And Fig... this comes straight from heaven: autocomplete for your terminal. Let that sink in. A beautifully done tool which should have existed a long time ago!

brew install visual-studio-code

Finally, the go-to editor these days. What I've taken to lately is to quickly ^+`` (Ctrl + tilde) to summon azsh` right in my project's path. Beats creating multiple iTerm2 tabs and having to find which one belongs to the project I want.

brew install deno nvm

If you've worked with me over the last year you already know I'm excited about Deno. So many good design and architectural choices, in such a lovely package. If you have experience with frontend or with NodeJS, you should try Deno now. And, of course, Node is still a necessary evil for tooling, so nvm is a version manager that contains the damage and allows easy toggling of node versions.

Layer 3: Just a touch of ~magic~ utilities

  • Clipy — https://github.com/Clipy/Clipy — my all time favorite, a clipboard manager which opens up a menu with your clipboard history with Cmd+Shift+V. No more back and forth copying multiple strings to forms.
  • iStats Menus — https://bjango.com/mac/istatmenus/ — gives visibility on why precisely your Core i7 is struggling to death, or who's eating all your RAM (hint: it's Chrome).
  • Rectangle Pro — https://rectangleapp.com/pro — is a snapping window manager that let's you "slide" windows into place. You have to try it to believe it.
  • ColorSlurp — https://colorslurp.com/ — literally the best color picker I've ever used.
  • Raycast — https://www.raycast.com/ — a supercharged Spotlight.

That's how I setup my environment for productivity right now. Thanks for reading, and I hope you found something that works for yourself in the above. If you think there's another tip that should be in this list, please email me at [email protected].

Cheers,

Gui

© Future Driven 2022 — Made in Rio with 💚