Programs

Alongside the gnu coreutils, these following programs are what I use near daily!

tl;dr: I like text

my core

Distributions: Dualbooting Arch & Gentoo Linux.

Librewolf: Privacy oriented Firefox fork. I have a few plugins:

Terminus: Not a program, I but felt it deserved it’s own shoutout as my favorite font. Now that I’ve seen the pixel-perfect accuracy of bitmapped fonts, anything anti-aliased just looks fuzzy.

neovim: I keep mine close to stock. I use a few plugins, but I try to keep them to a minimum:

The suckless Suite

dwm: Dynamic tiling window manager! Patch-wise, I’ve modified the code so that when clients are moved between monitors, the client’s tagmask stays the same rather than matching the new monitor’s active tagmask. I also changed the way window rules work, so that only the first matching rule gets applied.

I used i3 previously but found it (and other manual tiling window managers) to be far too slow and unpredictable. I messed with Hyprland for a few months as it had a dwm-like stack layout, but I have ultimately returned to and stuck with dwm for the window tagging system.

st: Lightweight terminal emulator. I applied a series of scrollback patches.

dmenu: if you’re just using dmenu (or any clone) as a launcher, you’re missing out on a lot of potential. I have several scripts I’ve set up to prompt me with dmenu, a few examples:

  1. Selecting a previous time interval to continue (timewarrior)
  2. Making a selection between a few shows to quickly start Japanese immersion
  3. Selecting a password from pass to my clipboard, and displaying the TOTP value in a dunst notification
  4. Selecting and opening a bookmark from a file of links/files

organization

I mostly use plaintext files when I can, but for a few data-intensive tasks I prefer dedicated programs (which interface with plaintext files anyways):

ledger: see my post

timewarrior: Time tracking software. I like to record and visualize time spent being productive. I assume gaps between intervals are either sleep, gaming, or consooming.

dwmblocks: I like to write custom modules to be displayed in dwm’s status bar. Always have the time, sum of recorded timewarrior interval durations (switches to show current duration and tags for open intervals), a script that returns my current Anki streak using AnkiConnect’s API, and a module that displays the sum of liabilities I record in my ledger.

pass: my choice password manager, passwords are edited in plaintext, and then encrypted by a GPG key and saved.

Previously used KeepasXC, and before that, Bitwarden. I moved from Bitwarden to KeepassXC to keep my data local. Not that I don’t trust Bitwarden, I just prefer the independence. Could’ve used Vaultwarden for a similar effect. I moved from KeePassXC to pass for simplicity and so I could better integrate my password manager with my environment using dmenu and dunst.

media

mpv: highly configurable media player. I like adding osc=no to my config file and exclusively using keybinds to control playback. I also installed and configured mpvacious to streamline sentence mining.

mpd, mpc, and ncmpcpp: mean audio player trio. I like that I don’t have to keep a program in the foreground that can distract me.

nsxiv: simple image viewer

zathura: simple pdf, epub, and cbx reader that uses vim motions.

typst: I’ve found wysiwyg software to be finicky in more complicated documents.

newsboat: RSS aggregator, I use it to follow YouTube, podcasts, and a few other blogs without falling prey to algorithmically generated recommendations and other distractions. (yt-dlp pairs well with this)

other

dunst: notification daemon, I primarily use it to show non-clipboard information from pass, like a site’s username and sometimes totp token. Also shows mpd’s status when controlling playback of the current playlist.

nnn: file browser for when the coreutils feel too slow. I heavily use the renaming feature as I can setup vim macros to bulk rename an entire directory. (primarily when renaming subtitle files to match their video counterpart)

man, tealdear, and wikiman: my troubleshooting trio. I like to try these before searching the relevant forum.

CAD

openscad: sometimes I’ll use FreeCAD if I decide the part I’m designing is more complicated than I’m interested in scripting.

PrusaSlicer

Spyware

steam: gamer

vesktop: gotta talk to my friends