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)
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
Productivity & Organization: Inkdrop & E-mail
Inkdrop 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! 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!
Top comments (1)
Great post! I donβt know how I never heard about DevURLs before. Itβs great! Thanks for pointing it out :-)