What I Use

This is my uses page.

It nags at my security conscience to publish information about software and equipment I use but in the spirit of community and tradition, here it is.

Computers

  • Primary: MacBook Pro (2015) 13” Retina i7 3.1GHz/16GB. Runs Arch Linux.
  • Work Provided: MacBook Pro M1 - macOS.
  • Keyboards: 2x NuPhy Air75 since February 2024. Aloe and Cowberry switches. Previously Logitech MX Keys Mechanical.
  • Mouse: Logitech MX Master 3
  • Monitors: Phillips 32” 4k UHD curved, 2x Viewsonic 22” IPS 1080p, 2x Viewsonic 24” IPS 1080p.

Checkout my Old Computers page for previous computers I’ve had since the 1990s.

Desktop

See my dotfiles

       __________________
      /\  ______________ \
     /::\ \ZZZZZZZZZZZZ/\ \
    /:/\.\ \        /:/\:\ \
   /:/Z/\:\ \      /:/Z/\:\ \
  /:/Z/__\:\ \____/:/Z/  \:\ \
 /:/Z/____\:\ \___\/Z/    \:\ \
 \:\ \ZZZZZ\:\ \ZZ/\ \     \:\ \
  \:\ \     \:\ \ \:\ \     \:\ \
   \:\ \     \:\ \_\;\_\_____\;\ \
    \:\ \     \:\_________________\
     \:\ \    /:/ZZZZZZZZZZZZZZZZZ/
      \:\ \  /:/Z/    \:\ \  /:/Z/
       \:\ \/:/Z/      \:\ \/:/Z/
        \:\/:/Z/________\;\/:/Z/
         \::/Z/_______itz__\/Z/
          \/ZZZZZZZZZZZZZZZZZ/

Development and Work

  • Languages: Go, Python, Shell
  • Cloud: AWS, DigitalOcean
  • CfgMgmt/IaC: Ansible, Terraform
  • Git/CI/CD: GitLab and GitHub
  • Diagrams: draw.io
  • Web Fonts: google-webfonts-helper for downloading and serving Google web fonts locally
  • Mail Provider: Migadu is outstanding

Homelab

See my Home Lab page for more information.

Keyboard-Driven Workflow

I started using VIM and learning its keybindings over 20 years ago and it has been an invaluable part of my workflow ever since.

I’ve made my workflow as keyboard-driven as possible, at least on Linux. This has made for a very fast and efficient workflow. I’ve been using tiling window managers for a long time, which works well in this regard.

A few things to highlight that lend to keyboard-driven efficiency:

  • VIM-like keybindings where I can
  • Window manager with good keybindings and programmability (Hyprland)
  • Terminal multiplexer (tmux)
  • Fuzzy finder (fzf) and fuzzy finding in general
  • Launcher (rofi)
  • Editor (neovim)
  • Shell with predictive typing (zsh)

For my most common tasks, I can press a quick keystroke to pop up a menu to launch applications, open a dedicated tmux session for a project, switch and move around workspaces, etc.

  • Launching apps: I press CMD+Space to open rofi, type a few letters of the app, and press Enter to launch.
  • tmux sessions for projects: CMD+Shift+Space launches tmux-sessionizer, a script adapted from ThePrimeagen that uses fzf to select a project and either create a new tmux session or attach to an existing one. From there, I launch my editor and/or other shells within that project. I can also press Ctrl-A Space within tmux itself to switch between sessions.
  • Within NeoVim, I’m using Telescope for fuzzy finding files, buffers, and grepping.
  • In the browser, I’m using Vimium for keyboard-driven navigation (as much as a browser can be).
  • I run neomutt in a tmux session as well, which uses 1password’s CLI to retrieve passwords for the session. This has a dedicated workspace with a quick CMD+M to switch to it, either launching it or attaching to an existing session. This also has an icon in my Waybar status bar to show unread mail count.

My workflow’s not as smooth on macOS, which I’ve been stuck with at work over the years. At least it’s not Windows, but I’m adaptable when it comes to getting paid.