Home Archives Search Feed GitHub Projects About

My Personal Development Setup

I thought I would post my personal development setup notes as a reference to myself and for anyone else who was interested.

In terms of hardware, I currently use a beefy desktop with dual monitors and an MSI G65 Stealth laptop. They’re both configured the same way.


OS: Manjaro

Any Linux distro would probably work, I prefer Manjaro because I like having access to the AUR and it works out of the box for my desktop and laptop setups.

My desktop triple boots into Manjaro, Windows and MacOS so I can switch if needed (ie. building for iOS). Windows, especially with WSL2 is great for develoment nowadays but it’s still a bit clunky compared to the other options. MacOS is fine, but since I’m running a Hackintosh with an NVidia card I’m stuck on High Sierra. Additionally I find it requires more configuration to set it up the way I want.

I may try to virtualize the other environments in the future instead of booting into them.

DE/WM: i3

I highly prefer i3 over heavier DEs. I generally have a lot of windows open and without a tiling WM I spend a lot of time managing them. Other options would work, but Manjaro comes with an i3 distribution that I don’t need to configure. :)

Shell: Fish

I used Zsh for a long time, but I had a pretty customized configuration and relied on plugins for certain functionality. Fish handles 95% of that out of the box.

Editor: Doom Emacs

Why not an IDE?

Sometimes I’ll use one, but for dynamic languages like Ruby/Javascript a lot of an IDEs power is lost. I’m a fan of Jetbrains software.

Why not Atom or VSCode?

VSCode is pretty great, I would feel fine using this instead of Doom. People make arguments about performance, but personally I don’t notice any performance issues while using VSCode over more lightweight editors. Atom I haven’t tried in years, but when I did it felt very slow.

Why not Spacemacs?

I used to use Spacemacs as my daily driver. I found it a little too heavy for my tastes.

Why not Vim?

I spent a lot of time configuring Vim in the past. I just want something that works out of the box with some features.

Browser: Firefox Development Edition


Search Engine: DuckDuckGo

Static References: Regular bookmarks. I don’t use these very much. I make work/project specific folders that include all the links like github repos, bug trackers, etc but that’s about it.

Read Later: Pocket. I actually signed up for an awesome service called Reread.io that emails me a random Pocket link from my list each day. When I click the link in the email it takes me to the article and archives it. It’s greatly helped reduce my backlog of articles.

Tech News: https://devurls.com

Real’ News: https://allsides.com - but I Hate the News

Productivity & Organization: Inkdrop & E-mail

This is probably my favorite, and most-used app. It’s an auto-syncing markdown based note editor. Every day one of the first things I do is create a new note and write down my goals and todos for the day (personal & work). Throughout the day I’ll add other things (standup notes, development notes, random thoughts, etc). In addition, on Fridays I’ll compile my daily notes into a weekly summary because those are easier to reference. I could probably do monthly summaries too, but I haven’t found the need yet.

For one-off todos I use my consolidated email inbox. I archive every e-mail that I receive as soon as I’ve read it, unless there’s a pending task related to it (phone calls, appointments or meetings, paying a bill, etc). If that’s the case I archive the e-mail once I’ve completed the task. Sometimes I send e-mails to myself.

Over the past 15 years or so I’ve played around with all sorts of productivity systems and apps but I’ve found the notes + email system works the best for me.

(For work I just use whatever system they have in place and lightly integrate it into my notes.)

Chat: Franz (Slack & other communications)

A great app to consolidate Slack, Discord, WhatsApp, etc. Why open 7 Electron apps when you can open 1?

Email: Thunderbird

It’s back! I tried using Mutt… too much configuration.

I think that’s it! Obviously there are language/framework specific configurations, but each one would be its own post. Let me know if you have any suggestions!

Posted on August 30, 2019

← Next post    ·    Previous post →