Last year, I wrote My stack 2017, and now it’s time for a follow-up. A year is a long time, and my day-to-day stack has changed quite a bit since then.


I’m still an Antergos user, and have no sign of changing. I’ve had a few instabilities, but the AUR and Arch Wiki are just fantastic!


As with last year, I’m using i3, and loving it! I can’t live without a tiled window manager now. For stability, and because I don’t like random unicode characters on my bar, I’ve switched from i3status-rs and i3status to polybar, which looks so much nicer!

My favourite addition of the year is Flameshot, a screenshot tool which allows selection, basic editing, and uploading.



My primarily editor is now VSCode, because it’s faster and lighter-weight than IntelliJ. All the features I need from a large editor, but doesn’t take 10 minutes to load! Because VSCode stores its configuration in plain files, in a very simple way, it’s easy to sync it between machines, which I do.


Last year, I was a fan of Caret, and was eagerly awaiting version 4, which was in beta last year. One year on, and still no closer to seeing anything. It’s for that reason I’ve switched back to GhostWriter. It’s also free and open source, which is great!

#Quick files edits

Nothing beats Vim for anything like this. I’ve switched my default editor for git commit messages, and have it installed on all my servers. I’m still unfamiliar with many of the advanced keyboard shortcuts, but I can navigate around a file just well enough for me.

Editing my stack, in VSCode


My shell prompt is almost identical to last year. If it ain’t broke, don’t fix it! I’ve got plenty of aliases set up to make complex tasks easier, and the prompt looking just how I like it!

#Terminal Emulator

My terminal environment has probably been one of the largest changes in the last 12 months. Previously, I was using Terminator. In the last year, I’ve moved from Terminator, to Tilix, and finally settled on Alacritty, with Tmux. Alacritty is fast, lightweight, and GPU-accelerated. Thanks to Tmux, I can keep the tiled experience in my terminal too. After a colleague started experimenting with Tmux, I gave it a shot, and it’s great. My config is modified, like changing the prefix to C-t, and to make sure things still work as I’m used to.

My shell prompt


Firefox, end of.

#Password Manager

Not much has changed here. I’m still using KeePassXC, and it’s still great. The InputStick extension is incredible for authenticating with unknown devices. The UI however is stagnating a little for me, and the integrations are buggy at the best of times. I’m looking at Enpass again with eager eyes, because the integration quality looks incredible. Whether I can live without the InputStick integration and open-source nature of KeePassXC will require some research and testing!


This time last year, I’d just left Astrill for ProtonVPN. In my opinion, this was a mistake. ProtonVPN worked pretty well, and was a step up from Astrill, especially on Android. Last week, I switched to Mullvad, and it’s incredible! Mullvad has open-source clients and integrations for all platforms, and supports WireGuard. I’d be surprised if I can find a reason to switch!

The desktop client for Mullvad whilst functional, isn’t great. I recently found qomui, which integrates really well with Mullvad.


After realizing that the benefits of Mailfence weren’t useful to me, as there’s no way I’m uploading a private key, I switched. FastMail has all the features I could ever need, and a great UI.

#Email Client

My email client has stayed the same. There really is nothing close to Thunderbird on Linux! Mailspring does look nice, but it’s still not quite feature-complete for my needs. And the fact Thunderbird is also a calendar app is quite useful too!


It might seem outdated, but I still quite like RSS. For me, it acts as a nice way to read content from various sources, all in one place. I can also use it to watch YouTube videos, without having to deal with YouTube itself! FreshRSS is my aggregator of choice, with FeedReader as the desktop client. I tried Tiny Tiny RSS, but the UI didn’t work for me.

#Mobile Podcast Player

In the last year, I’ve got massively into podcasts. It’s making my drive to work so much more interesting! Castbox was my player of choice in the past, but in the last few months I shelled out for Pocket Casts. It’s a more polished experience, and it doesn’t screw with the bluetooth connection in my car quite as much!


This year, I transitioned my dotfiles from Puppet, to Ansible. Puppet worked well, but the configuration I had was quite a hack. Ansible has an easier configuration, and integration with more tools. The configuration now syncs far more than the Puppet equivalent ever did, which is great for creating reproducible machines. Unfortunately, Ansible is a fair amount slower, especially when detecting installed packages.

Share this page

Similar content

View all →

My Stack - 2017 Edition

4 minutes

As a software engineer and perfectionist, I have my machines set up in a very specific way, so I can do my job properly and have everything just the way I like it. Thanks to my dotfiles, I have everything syncing up between machines, meaning the tools I use are…


State of the Apps 2022

15 minutes

It’s a new year, so it’s time to reflect back on the tools I used last year, how they’ll change this year, and how they might change in future. It’s still an idea I’ve completely stolen from CGP Grey / Cortex, but I think it’s useful, fun and interesting. I’m…


State of the Apps 2023

It's that time of year again, time to steal some of Cortex's search rankings to talk about my own "State of the Apps" - the applications and setups I use to make my life what it is. Since my last post, and in fact in just the last few weeks,…