💾 Archived View for lark.gay › posts › personal-tech-debt.gmi captured on 2024-05-10 at 10:50:12. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-02-05)
-=-=-=-=-=-=-
I maintain a backlog of what I call personal tech debt; quirks and inconveniences with my setup that I would like to fix when I have the time and energy.
This month I've churned though a good chunk of it, and I'm quite happy with the results.
I use Ansible to manage my dotfiles—synchronizing them between machines, bootstrap new machines, backing up and tracking changes, etc. It's probably not worth the amount of time and energy I put into it, but it is fun to mess around with.
For months my Ansible config has been a mess, and I finally cleaned it up and fixed some issues that have been bugging me:
To be clear, it's all still a bit of a hack. My Ansible config is *self-modifying*, if that gives you an idea. It synchronizes my vim English-word dictionary between devices by combining the version checked into the repo with the one in my dotfiles, and then replacing both with the result.
For months, I've been contemplating rewriting my ~/.vimrc in Lua. Neovim supports Lua as a first-class alternative to vimscript, and now I've finally gone through and migrated it all.
I've stubbornly refused to learn vimscript for something like 10 years, and now I never have to! The Lua API makes much more sense to my brain than whatever's going on with vimscript.
While I was at it, I treated myself to a new color scheme and a new statusline plugin to change things up.
I've been using Alacritty as my terminal emulator for a few years now. I was drawn in by the minimalism and the lower input latency (I was sold after a friend set up a blind comparison for me).
Because Alacritty doesn't support tabs, I started using tmux to fill that need.
There were a few reasons why I wanted to try something new:
So I decided to try Wezterm after a friend (who apparently used to work with the author) recommended it. After playing around with it for a while, I think this is an excellent piece of software.
The configuration is all Lua—much like Neovim—and it has a rich API for doing all sorts of cool stuff. For example, it doesn't natively support renaming tabs interactively, so I just implemented it myself in a few lines of Lua.
{ key = "r", mods = "ALT", action = wezterm.action.PromptInputLine { description = "Enter new name for tab:", action = wezterm.action_callback(function(window, pane, line) if line then window:active_tab():set_title(line) end end), }, },
It has a bunch of other niceties I appreciate as well:
I'm very much appreciating the pretty ligatures as I'm writing this.
Wezterm - Wez's Terminal Emulator
It's very satisfying to get something off your plate, especially when it's something that will make your life easier and computing more fun.
[1]: I discovered that this does not work with the Flatpak distribution.
─────────