A collection of things I like using regularly.
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-style completions. 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:
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.
If you’re not familiar with type-checked python, go watch this. 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 any type-hinter working on Django projects.
I use a mechanical keyboard - the Ducky One 2 Skyline TKL - with MX blue switches.