A collection of hardware & software I use regularly.
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:
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.