A collection of hardware & software I use.


My shell is Zsh, with the zinit plugin manager. I also source oh-my-zsh later on in my ~/.zshrc, for the few QoL things I can’t find in other plugins. You can see the list of plugins I use in my dotfiles.

Terminal Emulator & Font

When I’m actually working, I just use uxterm with Ypnose’s excellent envypn font. It’s a tiny bitmap font that gives me plenty of breathing room for vertical and horizontal code splits, even on the tiny laptop monitors that I use most often.

When I’m not particularly in need of screen real estate, I’m prone to font-hopping every other day. My current choice is Relative Mono 11 Pitch at around 20px.


My operating system of choice is currently Arch, and my window manager is bspwm. I have no swap, instead opting for earlyoom to handle OOMs for me. I try and keep my system clean and simple, running only what I need.


My preferred editor is Neovim, the hyperextensible Vim-based text editor. I use it alongside coc.nvim for VSCode-esque intellisense. Auto-imports and static typechecking are provided by coc-pyright, a coc.nvim port of Microsoft’s pyright. This workflow gives me some of the smartness of a fully-fledged IDE, while staying as close to the terminal experience as possible.


Since I primarily write (and work) in Python, these will all be Python libraries and/or utilities:

  • poetry

    I use poetry to set up any new generic project. It’s a great dependency resolver and project manager that hides a lot of the complexity involved in publishing your own packages.

  • django-stubs

    If you’re not familiar with type-checked python, I highly recommend watching this PyCon talk. django-stubs is a package containing type stubs for your type checker, allowing it to more accurately resolve types for things that use Django’s internal metaclass magicks. Invaluable for anyone interested in type-hinting their Django projects.


I use a mechanical keyboard - the “Glorious GMMK Pro” - with lubed panda switches. For audio, I have a pair of ATH-M50xs, with an Antlion ModMic Uni stuck on for calls.