A review of the software and dev tools that I couldn’t have coped without this year.
ASDF
ASDF is a staple of my shell environment since 2023 and has ensured access to bleeding edge (or at least recent) versions of tools across a variety of environments and distributions that don’t push updated packages out quite as fast as I’d like.
Somehow - despite how much I rely on ASDF - I keep forgetting the exact order of the plugin/install commands. Things like reshimming (especially after installing new Go packages) and adding tools that aren’t part of the default plugin repo also add just enough friction that I’ll look at Mise in 2025.
ASDF also helps me run the latest version of…
s/NeoVim/LazyVim/
I like Vim… but I also like being lazy.
Therefore LazyVim has been the largest disruptor in how I drive Vim in approximately 15 years, and it completely caught me off-guard in the best way.
Out went my exceedingly dodgy ragtag mix of configuration files, questionable keybindings and VimPlug incantations that showed no sign of ever approaching maturation, replaced by the sane useful defaults provided by LazyVim instead. Most importantly of all, it provides an LSP setup that works out of the box and a good set of additions to Neovim’s regular keybindings that give me a consistent experience across all my development environments (home, work, or erm, other.)
LazyVim proved to me that surrendering to VS Code was not an inevitability - and that NeoVim can be an effective IDE. In fact, it is!
The Vim purist inside me is unnerved at how often I now hit Ctrl-S
instead of :w
though.
Starship
It’s probably a sign of my horrifyingly advancing age that I’m attracted more and more to tools that provide sensible defaults and don’t demand any time upfront to make them useable. As much as I like a practical, useful and attractive shell prompt, I’d rather not have to think about it too much - thankfully all the thinking appears to have been done by far smarter people than me, anyway.
Like LazyVim, Starship fits this remit of offering a sensible shell environment whereby it was easier to adjust me to it, than adjust it to me. The default settings for Git repo awareness, Go and Node environments, GCP projects and even the in-line “low battery” indicator consistently prove embarrassingly valuable.
ProxMox
ProxMox was the best quality-of-life upgrade to my home setup in years, allowing me to easily self-host and manage a load of useful tools and applications without even thinking about either “the cloud” or much sysadmin.
(Context: I’m tapping this post into a Markdown file via a Flatnotes Docker container managed by Dockge running within an Alpine Linux environment in an LXC container hosted by ProxMox on a machine buried somewhere in a cupboard. Excessive abstraction maybe, but it works well!)
Most importantly though, I can easily spin up new throwaway LXC environments from my measly phone. Which leads me to…
Termux
It used to be the case that the first thing I installed into my phone was ConnectBot so I could connect to my VPS. This allowed me to code from anywhere, but latency and connection stability was an issue (solved a bit by Tmux, but we’ll come to that later.)
I switched to Termux a while back but this year it served me particularly well, enabling a variety of tasks from my phone that would have previously mandated being sat at a physical keyboard.
Having a complete local Linux terminal environment - into which I can install the aforementioned ASDF, LazyVim and Starship to provide me a surprisingly productive dev environment that is consistent with my actual computers is incredible. I’ve quite happily written hundreds of lines of code this way, and managed various systems via this environment alone, despite the relatively tiny screen and on-screen keyboard of my Google Pixel.
Tmux
Not to be confused with Termux above, Tmux has quietly served me well for over a decade now and I don’t know what I’d do without it. It can’t escape a mention.
I’m using a custom configuration that I’ve barely changed for about 5 years, and see no reason to revisit - but if a “LazyTmux” were to emerge I’d certainly be tempted.
2025
Given the improvements that 2024 saw to my dev environments, 2025 has a high bar to clear. In addition to swapping ASDF with Mise, I might look again at replacing Bash with Fish following a little exposure to it recently.
But I’m very excited to reflect on this post looks like in a year’s time and see what has - and hasn’t - changed.
(Merry Christmas and a Happy New Year etc.!)