My personal setup.

ubuntu 22.04

  • I've used Ubuntu since 16.04 and continue to use it due to its stability and wide software support.
  • Desktop: GNOME
  • Browser: Chrome
    Not Firefox?
    • I'm a huge fan of Mozilla, and a subscriber of Mozilla VPN, Relay, and MDN Plus. And previously only a Firefox user. But, between browser performance, Google Profiles, and better devtooling (responsive view, snippets, performance insights, local overrides), using Chrome as my main browser just made more sense.
    • However, if Chrome's Manifest V3 update arriving in 2023 completely breaks adblockers, def switching back to Firefox.
  • Editor: VS Code
  • Font: JetBrains Mono - Really nice ligatures.
  • Awesome Ubuntu Software
    • Gnome Tweaks

      The place for missing GNOME configs

      • A common complaint with Gnome is it's lack of customization. Gnome Tweaks fills that gap for me.
    • GThumb

      Fantastic GNOME photo viewer

      • I'm a huge fan of GThumb. It's an extremely capable photo viewer and editor with custom bash scripts support.
      • GThumb does have stability issues, but it's still by far the best photo viewer I've used.
      • I have some of my GHumb scripts shared on GitHub.

terminal sanity

Terminal: WezTerm - WezTerm is a GPU-accelerated cross-platform terminal written in Rust.

Editor (when in terminal): Vim

my dotfiles - Not exhaustive, Slowly moving my private dotfiles into this repo


nvm is a tool used to switch between different versions of Node.js. A .nvmrc file is a simple text file that contains the version of Node.js to be used, and running nvm in the same directory as the .nvmrc file will automatically switch to that version. I talk more about using nvm in this blog post.


venv is a module that comes with Python 3. It provides an easy way to create and manage virtual environments for different Python projects. Using virtual environments is a great way to keep your projects isolated from each other, and to ensure that everyone on a team is using the same version of Python and packages. I talk more about using venv in this blog post.

Misc utilites

exiftool - The CLI utility for reading image metadata. get


I'm not a fan of Apple, but there's still a few nice tools I've I like.

DevUtils - A collection of developer utilities.

Yabai - Tiling window manager for tiling + focus on hover. I'm a big fan of "focus on hover", so Yabai enables that for me.

Transmit - A really solid FTP/SFTP client.

Edit this page on github .