Nicolas Fabre

Lives and works in Helsinki, building software.

about

What I use

May 01, 2020

Give me six hours to chop down a tree and I will spend the first four sharpening the axe.

- Abraham Lincoln

Let’s kick off this blog with a list of the tools I use and value in my everyday work. It’s worth spending some time configuring your tools so that you can get the most value out of them. This page also plays the role of a living guide for myself when I need to setup a new development environment. After having to set this up, like, 4 time in the past year, I decided to write this down and automate this as much as I can.

Hardware:

Computer: MacBook Pro 13-inch, 2019, 2,8 GHz Quad-Core Intel Core i7, 16 GB of RAM and a SSD of 500 Gb

Screen: Samsung 4K 28” U28R55

Keyboard and mouse: Magic Keyboard and Magic trackpad 2

Headphones: still looking for a nice headset, ping me for your recommendations. Currenlty using Ticpods Free or Sennheiser Momentum.

Ereader: Kobo Libra H2O for reading.

Software:

Some of the noteworthy pieces of software that I use (almost) everyday:

Iterm 2 with Zsh, Oh My ZSH to manage the configuration, and the pure prompt.

VSCode with plenty of nice extensions, check this article about my favs here.

Amphetamine, to use the computer with the lid closed, handy at work with a dual monitor setup.

Brave browser for its privacy features

Calibre to manage my e-books

f.lux to manage the color of my screen according to the time of the day

FlyCut as a clipboard manager

Keka for compressing and decompressing every type of format (eg.: 7-zip on mac)

Notion for flexible and shared notes that can be arranged to do nearly anything you wish

Rectangle as a replacement to the loved Spectacle for window management.

Unsplash Wallpapers for fresh desktop backgrounds

Vanilla to manage the menu bar real estate

Setting up a new computer

So now the qustion is: How to re-install all of these applications, plus many others, including development dependencies, runtimes, databases management sytems, all kind of binaries without spending hours on it ?

I’m using a not-so-new-anymore feature that landed in Brew, which is the bundle command.

Use brew bundle dump to dump all your installed dependencies in a Brewfile, then check the list and add any missing application. To do that you can use brew search for any applications - eg.: brew search 1password. For applications distributed on the App Store use mas cli. Use mas list and then add these to your Brewfile. Once your Brewfile is created you’ll only need to install brew and run brew bundle to setup up all you apps.

Now how to bring this file, and your dotfiles, on a new computer ? I personally version them in Github, and then symlink them in my home. You can create a simple bash script to do that. Check the latest version of these files here

I use a signed in browser profile with Google Chrome which syncs my browser extensions.

VSCode settings are synced with Setting Sync native feature in the insider release and / or with Settings Sync MarketPlace extension in the regular release that saves everything to github gists.

Passwords, ssh keys and plenty of stuff is managed using 1Password

Pictures, documents go on iCloud.

That’s about it for now, I’ll update this as my practice change. What about you ?

Discuss on Twitter