What I use

Get an idea of what I'm using day to day, and what I do to optimize the way I work.

Dotfiles

I keep a Dotfiles repository with all the setup I can configure using files or commands. This includes vim, zsh, Git, Ruby, Hammerspoon, cloc, FZF, ctags, macOS, etc.

Git tooling

I've written a linter for Git called Lintje that validates Git commits. It checks if commits follow the preconfigured set of rules.

To simplify creating Pull Requests with multiple commits I've written commit-format. It makes it easier to copy commits from the terminal to Pull Request descriptions.

Editor

I use vim as my primary text editor. Switching to vim saved me much time in the long run, being able to customize it to my needs.

The theme I use is called Twilight, a dark theme based on a Sublime Text theme, but customized for my vim setup.

The alternative theme I use is called vim pencil, which is a light color theme. I switch to this theme when I write text such as documentation, blog posts and novels. This creates distance from the coding I do most of the time.

Keyboard

I try to keep my work setup as ergonomic as possible. To do so I'm using an ErgoDox EZ keyboard. I use this split keyboard to keep my hands further apart from one another, which helps with better posture.

As an added benefit the keyboard is 100% programmable, which I used to my advantage to create a lot of custom shortcuts. See my ErgoDox EZ keymap repository for the details.

System automation

Hammerspoon is a macOS specific app that allow for system automation. It can be customized to the user's specific needs, which I find very important, because everyone's preferences are different.

My setup includes window management, application switching, switching keyboard layouts between a "normal" keyboard and my ErgoDox EZs, and enabling/disabling Wi-Fi and Bluetooth. It even controls which applications are visible at any given time.

I've written about why I use and how I use Hammerspoon to switch between applications and how that speeds up my workflow.