My Development Setup
Tags: productivity
Published: 2019-08-31 19:49:39

---
title: My Development Setup
published: true
tags: productivity
canonical_url: 
---

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.

**Priorities:**  
- Lightweight  
- Little/No configuration  
- Low Friction (easy to jump into and use)

<!--kg-card-begin: hr-->
* * *
<!--kg-card-end: hr-->
#### 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 DE's. 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 IDE's 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

**Extensions** :  
 - uBlock  
 - Privacy Badger  
 - HTTPS Everywhere  
 - LastPass  
 - Tree Style Tabs

**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](http://www.aaronsw.com/weblog/hatethenews)  

#### Productivity & Organization: Inkdrop & E-mail 

[Inkdrop](https://inkdrop.app/) is probably my favorite, and definitely most used app outside of code editors. 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](https://blog.mozilla.org/thunderbird/2019/08/whats-new-in-thunderbird-68/)! 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!