All my personal development machines run Arch Linux. This page documents my setup and configuration for a productive development environment.
Working on open source projects requires a flexible and customizable environment. Arch Linux provides a minimal base system that allows me to install only the packages and tools I need.
After many years of using different Linux distributions, I settled on Arch Linux for its simplicity. I want to have control over my system and avoid unnecessary bloatware.
Desktop Environment
After meeting Micheal Stapelberg, the author of the i3 window manager at a golang meetup in Zurich, I decided to give it a try. Since then, I have been using tiling window managers on my personal machines. However, after switching to Wayland, I found Sway to be a great alternative that offers similar functionality.
Terminal Emulator
For a long time, I used Alacritty as my terminal emulator. I appreciate its stability and performance. It allows me to select text without using the mouse, using vim-like keybindings. However, I recently switched to WezTerm for its advanced features like image rendering or advanced navigations.
Colors and Fonts
I am happily using NerdFont Meslo as my main font across terminal and IDE. I never had a good reason to switch to another font.
I love the base16 (and base24) color schemes and I am switching between a light and dark theme depending on the time. This is especially useful when working in different lighting conditions. For consistent theming across applications, I use the Tinted Theming system which all to automate the configuration.
IDE
I have used numerous IDEs over the years, but I always come back to vim (or neovim). For many years,
i have configured vim to my liking, but i recently switched to LazyVim,
which provides a great default configuration that I can further customize.
