Uses

This page details some of the many things I use. Generally, my selections align with the philosophies outlined by Gwern. Everything is outlined in my dotfiles repository.

Laptop

Day to day I run a Framework Laptop 13. More information about my specific device and my experience with it is available in my review.

In general, I run NixOS on all my devices. I’m a huge fan of it’s declarative configuration. The ability to run things in an ephemeral shell with nix-shell -p is also core to my iterative development processes.

Environment

I run Sway as my window manager, swaylock as the screen locker, and Yambar as my status panel. I use bemenu (a Wayland equivalent of dmenu) for launching programs and displaying my clipboard history (with the help of cliphist). My notifications are all handled by Dunst.

Kitty is my preferred terminal, pretty much exclusively for it’s support for ligatures, image support, and it’s SSH kitten.

All my file exploring is handled by the very excellent Vifm. My configurations for it are quite extensive, and it works for me as a full stand-in for any ‘conventional’ file explorer such as Dolphin or Nautilus.

Shell

I spend a lot of my time in the terminal and, as such, have a pretty smooth config. I run ZSH as my shell, with a custom prompt and some default tools replaced. Eza takes the place of ls and tree, Bat takes the place of cat, BTOP++ takes the place of top, and ugrep takes the place of grep.

Browsers

I use a custom search engine wrapper I made to allow for customisable bangs and easy switching between search engines. I also usually roll with these extensions:

Development

I’ve touched a bit on my development tools already. This is obviously very much oriented around frontend development.

As you’d expect, I use Git for version control, with GitHub for hosting. In most situations, I use Bun in place of Node for the performance benefit, although I obviously keep around all the expected other tools for working on other projects. I’m also quite fond of using httplz as a basic http server during development.

Central to all my development is my editor, Neovim. I’ve extensively customised it, and it serves as the bulk of my editing environment. It is setup alongside a long list of language servers and plugins that would best be assessed by consulting my dotfiles. I hope to eventually do a write-up of my configuration.

Virtualisation

Sometimes I find myself needing to use Adobe’s Creative Cloud or other software that simply refuses to run on Linux. For that reason I’ve got a Windows 11 virtual machine setup with KVM/QEMU, Spice USB Redirection, Windows guest drivers, libvirt, Virtual Machine Manager, and other things of that nature.

Multimedia

I use Music Player Dameon (MPD) to play my OPUS library, with ncmpcpp serving as a frontend and mpc being used for keybindings.

I manage all my books with Calibre, although it does show its age in a few places.

Video and miscellaneous audio files are run through mpv, and imv serves as my image viewer.

Gaming

I like to do a bit of gaming in my ‘spare’ time, so I’ve got a bit setup. Most of my PC games live on Steam, although I’ve got pretty extensive libraries on GOG, Epic Games, and Amazon Gaming, which I manage through the Heroic Games Launcher. I also have Prism Launcher for my occasional Minecraft needs and GameMode to keep everything running smoothly.

I also emulate many games. I’ve got Ryujinx for Switch, MelonDS for DS, Dolphin for Wii, PCSX2 for PlayStation 2, xemu for the original XBOX, and Mupen64Plus/Rosalie’s Mupen GUI setup standalone, with everything else handled by RetroArch.

Miscellaneous

I use PrusaSlicer for my 3D printing slicing needs, dabble with 3D in Blender, and use LibreOffice for dealing with all the Microsoft Office file formats I have to deal with. Otherwise, I tend to use Pandoc.


Phone

My current phone is a Google Pixel 7a. Nothing too special, but it’s one of the only phones on the market with a good camera and, more importantly, an open bootloader. Being a Pixel, it also has support for the excellent GrapheneOS. GrapheneOS is pretty much stock Android with a myriad of security and privacy improvements.

I generally look for apps that I can customise, that are open source, and that adhere to Material You. The apps I’ve currently got installed include:


Home Server

While I do have some remote VPS’, I also maintain a home server for self-hosting a range of services, some of which are detailed on my services page.

Much like my laptop, it runs NixOS. Everything it hosts is containerised with Docker. I use Oxker as a nice TUI container manager.