Here's the software I use. I've recently started to reduce my use of TUIs in favor of CLIs, for a variety of reasons. When possible, I try to use lightweight programs that can run on any machine, from a single-board computer to a giant desktop. I don't ever want to feel like I need to upgrade my hardware to do the same tasks as before: hardware upgrades should only be justified by my use-cases significantly changing, existing hardware being broken beyond repair, or upstream abandonment of security patches. ## Hardware My main computer is a 2013 HP Elitebook 840 G1. It has a dual-core Intel i5-4300U CPU (Haswell), with simultaneous multithreading disabled. ## Environment * OS: Fedora, latest stable release. * Wayland compositor: Sway * Shell: zsh (interactive), dash (non-interactive/shell-scripts) * Terminal Emulator: Foot. Sometimes gnome-terminal when I'm using a screen reader. ## Basic utilities: * `$EDITOR`: Neovim * Browser: Firefox for most pages, Chromium for apps, NetSurf when I'm low on battery. * Coreutils alternatives: ripgrep, sd (better multiline regexes than sed), fd * Session manager: tmux (I don't use it for tiling, Sway handles that) * IRC client: WeeChat. Might use senpai eventually, if I can get it to play well with espeak-ng. * News: Newsboat. I'm thinking of switching to a feed-to-IMAP or Maildir setup eventually so I can get sync and use mblaze, and replace a TUI with a CLI. Ideally something that supports WebSub. * Containers: Toolbox: Creates quick mutable environments for me to mess around as root. I use Fedora Rawhide for more bleeding-edge packages in these environments. Quick mutable environments to mess around in or use different toolchains are pretty much my only use of containers. * Screen reader: Orca => https://sr.ht/~seirdy/mpd-scripts/ mpd-scripts page => https://github.com/po5/mpv_sponsorblock mpv_sponsorblock => https://sr.ht/~taiite/senpai/ senpai ## Multimedia * Music player: mpd, along with my mpd scripts * Video player: three builds of mpv, two with a PGO run on different types of video (anime and live-action-with-filmgrain). Often paired with yt-dlp and mpv_sponsorblock * Image viewer: mpv (one less program to keep track of), swayimg. Both support AVIF and JPEG-XL now. ## Mail: * Mail fetcher: mbsync * SMTP client: msmtp * routine tasks, viewing/filtering latest messages: mblaze * MUA: mostly neomutt * Viewing HTML mail: w3m-sandbox or edbrowse. => https://github.com/leahneukirchen/mblaze mblaze => https://git.sr.ht/~seirdy/bwrap-scripts/tree/trunk/item/w3m-sandbox w3m-sandbox ## Networking and pentesting: * RustScan (don't use it on max settings without permission) * q, a DNS client that supports DoH, DoH3, DoQ, and ODoH. * rnp, a ping tool that supports TCP and QUIC "pings" to estimate handshake latency. * subfinder, Project Discovery's subdomain enumeration tool * both curl and xh for HTTP testing. * kinvolk's wrk2 fork and bombardier for HTTP load-testing * ssh-auditor ## Other tools: * jq (I love writing jq programs) * fzf * z.lua * msync * wormhole-william * rdrview * Efficient Compression Tool (better than Zopfli/ZopfliPNG) * zpaqfranz * scc * Pandoc * ghq, a VCS repository manager in the style of $GOPATH => https://github.com/psanford/wormhole-william wormhole-william => https://github.com/eafer/rdrview rdrview => https://github.com/fhanau/Efficient-Compression-Tool Efficient Compression Tool => https://github.com/boyter/scc scc ## Server-side stuff * Custom build of nginx-quic with some patches. Statically l inked against zlib-ng, BoringSSL, PCRE2, musl, headers_more, and ngx_brotli. Patched for dynamic TLS record sizing, using externally-managed OCSP stapling files, static HPACK dictionaries, removing server signatures, adding dark-mode on in-binary error pages. * certbot-ocsp-fetcher * webmentiond Webmention receiver * Agate Gemini server * searchmysite-go * Conduit matrix server ## Services * Migadu: email provider * deSEC: managed DNS name servers * Namecheap: domain registrar (not endorsed) * Digital Ocean: VPS (not endorsed) * Search My Site: search API ## What I don't use These are tools that I don't use, or avoid using. * system monitoring TUIs: I usually just run the command to view the resource I need to know about * File managers: I prefer using the shell with fzf-based tab-completion that also features preview windows