This page focusses on Software. For Hardware, check /setup.
My software stack seems pretty old-school on the first glance. Lots of terminal applications, minimal desktop setup with fullscreen windows everywhere. I prefer CLI applications for almost everything, the only GUI programs I usually run are browsers, image manipulators and, as of late, my editor. But the software I use is state-of-the-art. I tend to keep up with the newest versions of everything. I just don’t like to have too many bells and whistles.
🔗OS: BlueFin (based on Fedora Linux)
It all started with Real Red Linux 2000, a special millenium version of RedHat Linux. I don’t know for sure, but I think it was based on RedHat 6.1 or 6.2.
Over the years, I first used different RPM based distributions, then switched to Gentoo for a while, before getting annoyed by the compiling frenzy and discovering Arch. When Arch made the switch to systemd, I found Void Linux and stayed with it for years. At some point, not many years ago, I went with Fedora and it struck a nice middle ground between customizability and “it just works”. Thanks to Fedora Spins, it is now easy to have a more standard system on my work laptop and a rather customized one on my private laptop, without too many differences in the foundation. I used official the Sway Spin on my private laptop vefore eventually switching to BlueFin, an Atomic Desktop distribution. This means, I don’t have to care about the operating system anymore, because it is read-only. Everything happens in userspace. I might switch to Fedora Sway Atomic, though, if GNOME gets becomes too annoying.
🔗DE: GNOME vs Sway
Over the years I got used to tiling window managers. Honestly, I tried almost all of them and went from hyper-configurable to super minimalist. I ended up - as usual - somewhere in the middle, with i3 and Sway.
My work laptop has a GNOME desktop with some extensions, that make it work well for me. My typical work flow involves full screen applications and many desktops. I rarely have more than one window on one screen. That is why I didn’t have too much of a hard time to switch from dwm and similar tiling window managers to GNOME, because it uses MacOS-like gestures to work with desktops. Extensions like Maximize Lonely Window help as well. There used to be another extension, Maximize To Empty Workspace, which was even closer to my usual way of working. But it is not supported in newer GNOME versions.
🔗Editor: Helix and Zed
Most of my life, I used ViM. It made me more productive and helped me to focus on the things that matter most for my productivity. One day, I found Kakoune, which blew me away by being so similar and yet different to ViM, in a (in my opinion) good way. What Kakoune does is to to switch around the command order. While ViM’s command language is VERB-MODIFIER-OBJECT. For example: d2w means delete two words. Kakoune switches that to MODIFIER-VERB-OBJECT and introduces selecting and non-selecting movement, which allows you to see your selection before applying an action. d2w changes to 2Wd, which translates to select next two words, then delete them. I finally settled with Helix, an editor that uses Kakounes command language, but implements many useful things by default, while still being very configurable. Not very long ago Zed, a rather new graphical editor, got a Helix mode. When I heard about it, I had to try it and was pleasantly surprised.
🔗Terminal: kitty foot + tmux + zsh + starship
Almost all of my day-to-day applications are in the terminal. I am so used to it, that I started trusting GUI applications less. This is obviously my issue, but luckily I’m not alone, so many great CLI applications exist.
I use kitty as terminal emulator. It is fast and incredibly featureful. Before Kitty, I used foot with tmux as terminal multiplexer. Kitty has terminal multiplexing built in and can be configured to feel a lot like using tmux. It is missing session persistence, though, but for now, I didn’t need it.
My shell of choice is zsh with oh-my-zsh. It is by far the most versatile shell and the only one (to my knowledge) that supports RPROMPT, a prompts at the end of the line. The prompt is powered by starship, with a custom theme. Starship is extremely fast, despite offering a lot of information in your prompt, that would otherwise slow down your terminal significantly. This comes with the downside of a bit less flexibility, compared to a custom ZSH theme.
🔗Browser: Firefox..based?
My browser of choice is Firefox, because I want an open and diverse internet. Firefox is a great choice and offers lots of features, like direct PDF support, privacy features out of the box and great synchronisation. Chrome and Chromium-based browsers are great as well, but if everyone uses the same browser, we’ll end up with whatever the company behind this browser wants the internet to be. Unfortunately, Mozilla is known for questionable decisions from time to time, especially regarding the privacy of their users, so I’m looking for alternatives all the time. Good candidates seem to be Librewolf, Floorp and Zen Browser, but I have yet to give them a thorough try.
🔗Librewolf
I dismissed LibreWolf, because it seems like a downgrade. Pretty sure, it has great security, though.
🔗Floorp
I used Floorp for a few weeks and I liked it a lot. The out-of-the-box support for vertical tabs and tab groups had the biggest impact on me. The interface seems a bit cluttered if you activate all the bars, but they can be deactivated. I had some issues with focussing and hover effects from time to time though. No dealbreaker, but feels unpolished.
🔗Zen Browser
After trying Floorp, I switched to Zen Browser. Very positive is that it supports vertical tabs and tab groups out-of-the-box as well. Additionally it allows “zen mode” (hence the name, I guess), which hides bars and only shows them when hovering the respective corner of the window. This is really neat, although it needs a bit of familiarization to not see anything happen when opening a link in a new tab, for example. For now, Zen Browser is still alpha, but seems very usable. I had no issues yet.
🔗Vimb
I also use Vimb and I’d love to use it more, but the lack of integrations into Bitwarden (password management) and Linkding (bookmarks) make it inconvient for many things. I also miss the ability to sync my browsing history and the currently open tabs with the browser on my phone.
🔗Other Tools: Silverbullet, Poe, Bitwarden, Git…
Of course, I use a lot more tools in my day-to-day work.
I use Silverbullet for knowledge management. It is similar to Evernote, Obsidian or Notion. For me it hits the mark between flexibility and structure. I use it for everthing from todo lists to planning long D&D campaigns. Before I used LogSeq, but I prefer Silverbullet, because I can host it myself.
Poe allows access to all kinds of generative intelligence tools, like LLMs (“ChatGPT”) and image generators. I mostly use MistralClaude, but also switch between models from time to time. They help me with brainstorming and sometimes I misuse them to write JSDoc comments for me.
Bitwarden is a fantastic password manager with lots of utilities. It works so that you don’t need to trust the server provider, because everything runs on the client (for example in a browser plugin) and is encrypted locally before being sent to the server. The best thing is, that I can host a bitwarden server myself, using Vaultwarden.
GIT is the most widely used source code management as of today. Although I see some strengths in other systems, Git is by far good enough for all my needs. I host my own Forgejo git server at git.k0r.in.
There is a lot more and I might extend this list from time to time.