My Computing Setup
I'm generally very particular about how I use my computer and the software that runs on it. I don't always configure my tools in the most "user-friendly" way, but rather the most efficient way for me. In other words, I prefer function over form -- if something can be done faster in a terminal, I wouldn't use the GUI version. I also generally prefer free software, as in software which respects the four essential freedoms. However, I'm not a fanatic, and I run proprietary blobs in my firmware and drivers to get my hardware to function properly.
First, some brief hardware details
- Intel Core i7-13700KF
- RTX 4080 (Founder's Edition)
- 32GB DDR5 memory at 5200 mt/s
The other hardware details of my computer are not particularly interesting. I do have an AIO water cooler.
Software
I run Arch Linux with the Hyprland desktop environment. My OS choice is mostly pragmatic, I don't feel strong allegiances to any particular distro. I simply use Arch as it lets me configure my system exactly how I want and has an up to date and large user package repository. I've also been interested in looking into NixOS, but I don't yet have 40 hours per week to configure my operating system, unfortunately. I use Hyprland because:
- Tiling window managers are infinitely superior and anyone who disagrees has never experienced productivity.
- Hyprland implements most modern Wayland features which is very important as I'm on Nvidia.
I also keep a Windows installation around, mainly for gaming.
Code editing
One of the most used pieces of software on a developer's computer is their text editor, so I spent a lot of time settling on one. In the past, I used Visual Studio Code, but I've since switched to Neovim. VS Code is a fine editor and I recommend it to anyone new to programming, but it just doesn't make sense for me to run a full electron app when I don't need any of the fancy GUI features and I can work faster in Neovim. Modern code editing has mostly become editor-agnostic anyways with the advent of LSP, so most of the important features are available in practically every editor anyways.
As for my terminal, my main priorities (in order) are:
- Performance
- Font rendering quality and support (ligatures, etc)
- Additional quality of life features
Since my editor (Neovim) runs purely in a terminal, performance is the most important since any perceptible latency or lag quickly becomes extremely annoying. Otherwise, it would probably shift down to the bottom of the list.
I've tried kitty and Alacritty but ended up settling on kitty. Although Alacritty (allegedly) has better performance, kitty is practically the same in day-to-day use (and I heard it has better latency, too). I ended up choosing kitty mainly due to its more versatile configuration as well as support for font ligatures. It also has tabs and native multiplexing, which the maintainers of Alacritty refuse to support (which is fine, with tmux or zellij, but native is nice to have).