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

My laptop.

  • 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

My terminal

  • 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 bugs software. 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, and standup.
  • 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

My journal.


  1. 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.