Uses
I love reading about other people's tools and workflows, so I decided to share a bit of my own here.
Updated on: 2025-06-15
Hardware
-
Computer: Lenovo LOQ 15IRX9 15" laptop, upgraded to 32GB RAM. I don't miss having a desktop PC, and it suits me well both for development and gaming. Though it's light enough to carry around (2.38kg), the battery won't last long away from a power outlet, which isn't a problem for how I use it.
-
Mouse: Logitech G305 Wireless. I like the side buttons for navigating forward/backward, and the size fits my "fingertip grip".
-
Keyboard: built-in. It's a German layout and I miss the ANSI's horizontal Enter key, but I've gotten used to it.
-
Display: built-in 144hz. I care more about a high refresh rate than brightness and color accuracy, so I have no complaints. Also, I get lost easily with multi-monitor setups, so I actually prefer a single monitor, using virtual desktops and good old alt-tab instead.
-
Earphones: Apple EarPods (3.5mm jack). It's lightweight and sounds decent, and that's enough for me. Headphones get really uncomfortable after a while due to pressing my ears against my glasses. I don't mind the wire and, in return, it never gives me battery or Bluetooth pairing problems. (Though I use an AirPods 3 with my iPhone and quite like it.)
Software
-
OS: Debian stable. My hardware is well supported by the (always slightly old) Linux kernel shipped with Debian stable, and I don't care about running the very latest
bugssoftware. For development, where up-to-date dependencies matter more, there is usually a language-specific solution (for Python that would be PyPI), so relying on the distro's repositories is not necessary. For everything else there is Flatpak. -
Terminal: GNOME Terminal, with minor font and UI tweaks. The input lag bothers me a bit, but I don't like any of the modern terminals1 enough to switch.
-
Shell: bash. I have a few aliases, functions, and prompt (
PS1
, not LLM stuff) customizations, but that's it. I could switch to a more user-friendly shell, but using different shells for interactive use and scripting would likely lead to unnecessary confusion, so I just stick with bash. -
Editor: vim (yes vim, not neovim). I'm over a decade and 500 lines deep into
.vimrc
to go back now. Though, jokes aside, I'm quite happy with what I have so far. I've experimented with other editors and IDEs over the years and quite frankly I much prefer an editor that doesn't nag me with 5 new pop-ups every time I open it. -
Browser: Firefox ESR (extended support release), from Debian's default channel. This build disables many of the telemetry settings. Firefox latest is Mozilla's annoy-ops laboratory, so getting minimal (and mostly security) updates is a deliberate choice. However, since it's the only browser where true ad blocking is still a thing, I've learned to deal with it.
Other helpful tools that I use daily:
- ripgrep: user-friendly grep.
- fzf & fzf-git.sh: quickly navigate and fuzzily search for files, shell history, git commits/branches/etc.
- git-extras: additional commands for git. I like
bulk
,summary
, andstandup
. - hyperfine: benchmarking in the terminal.
- xcape: dynamically rebind keys. I use it to rebind Capslock to Esc when tapped and to Ctrl when pressed in combination with another key.
- zoxide: quickly jump between folders in the terminal.
All of the above (except for fzf-git) are available on Debian's package repository.
Brain...? ware
-
Reading: rarely physical, mostly digital books on iPhone's default Books app.
-
Reading list: since Mozilla discontinued Pocket, I've been trying to hand-roll my own. It's basically just a big plain-text file with URLs and metadata.
-
Knowledge management: plain text files in a
~/notes
git repository, edited with vim. -
Personal organization: digital calendar, cheap dot-grid notebook, black 0.4mm Stabilo marker, loosely following Carroll's bullet journal method.
-
alacritty has no tabs (and I avoid using tmux because it messes with terminal scrollback), kitty doesn't look pretty to me, and wezterm is overwhelmingly configurable. Electron-based terminal emulators are non-starters. ↩