My setup
I just realized have a blog and it doesn’t have any articles talking about my setup at all! This flaw must be corrected.
Hardware
For most of my life, my hardware was whatever hand-me-down I got from my parents. It still doesn’t really matter much.
My current primary computer ("phoenix”) is a WVX WorkMini T12. It’s a 16” laptop with a decent AMD APU inside, from 2025. It’s decently powerful and runs all the games I play.
The screen is big enough that I just use it on a pedestal as a “monitor”. The keyboard and mouse are separate, of course.
This keyboard is the one I have used since forever ago. It’s a Logitech membrane keyboard with an L-shaped enter key. The keys have a lower profile than a mechanical keyboard, and also make less noise, especially if I push them slowly. I pulled the keycaps off and put them back in the Dvorak layout, which is what I use.
The mouse is a generic Logitech. I picked a symmetrical one so I could use it with my left hand. I’m not left-handed, but putting the mouse on the left centers the alphanumerical part of the keyboard on my small table, and I rarely use it anyway.
Operating system
I have been using Linux since I was a teenager. My uncle got me started with Ubuntu, which I tweaked (and broke) endlessly, then I switched briefly to elementaryOS, went to Arch for a few years, Alpine for a few more, and now on Chimera.
Chimera Linux is very nice. It has out-of-the-box system services appropriate for a desktop system, like Arch or Ubuntu. It has a very good package manager from Alpine. The package selection is small, but the packaging is high-quality. The package build system is really good. The core system choices and philosophy are well-thought-out.
It’s a young distro, but I really like it so far.
Windowing
I use the Niri Wayland compositor. I like the scrolling, and it has good protocol support.
I complement it with the Noctalia shell. It’s probably too heavy for what I use, but I wanted to see what it was like having all those widgets for networking and audio and weather and whatnot available on the GUI at all times. It’s nice from that point of view, but I still want to build my own someday.
Web
I use Firefox with the Phoenix configuration, which includes uBlock Origin. I also use vertical tabs, permanently collapsed, with switch-tab-on-scroll enabled. I like having access to things on both the mouse and the keyboard so that I can use whichever is closer to my hands.
Phoenix configuration
uBlock Origin content blocker
I pay Kagi for search. It’s really good. I don’t use the AI stuff.
I pay SourceHut for Git and web hosting. This website is hosted on srht.pages. It’s really good.
I pay Migadu for mail. It’s good, and cheaper than any alternative I found with custom domain names. It also handles my DNS as a bonus.
I use some scripts around sfeed to follow blogs and YouTube channels. I run “rss” once a day, and it fetches everything and appends any new items to a file I can check on my text editor. It also calls one external Python script I wrote to get my MangaDex feed, with new manga chapters (some from official sources, some less so). These scripts include rate-limiting (once an hour for YouTube, once a day for blogs, once every three days for manga) and clock checks (it won’t let me run it before 17h, except on weekends).
When I want to watch a video from the list, I have a script that downloads it with yt-dlp, marks any sponsor segments with the SponsorBlock API, then plays it on mpv. It never drops quality due to connection issues, and never tempts me to keep watching with an endless list of suggestions.
Programming
I use the vis text editor for programming and writing notes. I like its multiple-cursor support and how quickly it starts. I wish it had proper mouse support, and that having two instances of the editor open on the same file wouldn’t conflict with each other. But ah well.
vis text editor
My visrc (it’s pretty short)
When programming, I depend on an LSP and syntax highlighting, but not much more. I can also work without these things just fine, using ripgrep to find stuff instead. I don’t like opening files from inside the editor, opening a new terminal and typing the command is usually faster anyway.
I use Jujutsu for version control, even for company projects that use Git. I mostly treat it as a better Git interface, that allows for easier history rewriting.
My workflow involves opening up a bunch of ephemeral terminals (I use the foot terminal emulator), with vis instances inside of them, all the time. I will sometimes quit the editor to run a command, then open it up again immediately after. This is possible because vis has quick startup, and I have a plugin (vis-cursors) that restores cursor position after a restart. This also helps me remember where I was across days.
foot terminal emulator
vis-cursors plugin
I also set up my shell to always start on the last directory I switched to. This is useful during the day when I open a new terminal (it switches automatically to where I am currently), but also across separate days to remind me what I was doing.
I have a “todo” script that just writes a single line of text to a .todo file. This file is displayed in my prompt, so I can always keep a short list of things to do next, in case I’m coming back to a project after a while (like on the next day).
Music
I buy digital albums and put their files in a directory, one per album. Then I have a script that allows me to pick one with rofi, then play it in the background with mpv. The Noctalia shell can control mpv through MPRIS, so that’s what I use to skip songs or pause. This only supports gapless playback of entire albums, but that’s just about what I need.