/uses
This page is inspired by <%= link_to "/uses", "https://uses.tech" %>. I won’t present every
boring detail of my setup, but anything I feel is interesting, unusual or I particularly love.
For a more or less complete config, check out my <%= link_to "dotfiles", "https://git.tsvallender.co.uk/tsv/dotfiles" %>.
Hardware
<%= image_tag "office.jpeg", alt: "Photo of my office. A PC tower is on a desk next to a portrait monitor.", class: 'fullwidth' %>
- PC
- I use a custom-built machine. Building it myself allowed me to maximise what I care about
(CPU, RAM, fast storage) while leaving out what I don’t (integrated graphics are good enough
for me). It’s cased inside the beautiful <%= link_to "Fractal North", "https://www.fractal-design.com/products/cases/north/" %> case.
- Monitor: <%= link_to "LG DualUp", "https://www.lg.com/uk/monitors/ergo-monitors/28mq780-b/" %>
- I find the unusual aspect ratio of this screen almost perfect for software development; it
feels much more natural than a super-wide screen, but provides the added screen real estate
over a smaller or laptop screen. You can also display two inputs side by side, which is
occasionally useful.
- Keyboard: <%= link_to "X-Bows Lite", "https://x-bows.com/products/x-bows-lite-ergonomic-mechanical-keyboard" %>
- This keyboard is the best compromise I’ve found between a traditional layout and the more
radical ergonomic designs available. There are probably better keyboards out there, in terms
of ergonomics and efficiency, but they come with the downside of making it harder to use
other keyboards. The changes here are subtle enough they don’t make other keyboards
unusable, but effective enough to vastly improve the experience—particularly being able
to hit Control and Shift with a thumb (a particularly useful feature when I used to use Emacs).
Development environment
- Editor: <%= link_to "Neovim", "https://neovim.io/" %>
- One of the best investments of time in my career so far has been making myself familiar
with vi keybindings. Once they’re ingrained in your head, they make moving around in your
code feel natural and fast. Neovim adds to that foundation by providing a modern extension
language (Lua) to replace the… esoteric… Vimscript which has fostered a powerful plugin
system. Modern LSPs alongside innovations such as Treesitter give Neovim IDE-like power
while retaining all the benefits of a lightweight text editor.
- Multiplexer: <%= link_to "tmux", "https://github.com/tmux/tmux/wiki" %>
- I use only the small subset of tmux functionality that serves my needs, but it does so
exceedingly well. It allows me to run multiple applications in a single terminal emulator
and switch between them easily, run a persistent session over SSH, and
<%= link_to "pair remotely", blog_post_path("pairing-with-tmux") %>.
- OS: <%= link_to "openSUSE", "https://www.opensuse.org/" %>
- I’ve jumped around a lot in the past between different Linux distributions, and the BSDs.
Currently, I’m running openSUSE Tumbleweed, which is a rolling release that seems to do
a good job of balancing stability with bleeding edge software.
- Window manager: <%= link_to "Hyprland", "https://hyprland.org/" %>
- I’m a big fan of tiling window managers, which tend to just get out of your way and let
you work. Now that the Linux world is moving from X11 to Wayland, I’m using Hyprland. It
lets me move around windows with vi keybindings and adds just enough animation
to make things feel smooth and stylish.
Self-hosted
- <%= link_to "Wallabag", "https://wallabag.org/" %>
- In a similar vein to Pocket, or Instapaper: save articles to read later.
- <%= link_to "Immich", "https://immich.app/" %>
- Heavily inspired by Google Photos, Immich is by far the best open source photo
management system I’ve seen, with a matching mobile app.
- <%= link_to "Forgejo", "https://forgejo.org/" %>
- I run an instance for my personal projects, as well as one for work.
- <%= link_to "Calibre-Web", "https://github.com/janeczku/calibre-web" %>
- Takes a Calibre library of ebooks and provides a nice web UI for them, making them
easily accessible from anywhere.
- <%= link_to "Radicale", "https://radicale.org/" %>
- CalDAV and CardDAV server for calendars and contacts. Pairs well with
<%= link_to "DAVx⁵", "https://www.davx5.com/" %> for syncing on Android.
Other stuff
- Home Assistant
- I run the fantastic <%= link_to "Home Assistant", "https://www.home-assistant.io/" %> for smart home stuff. I’m
not doing anything too fancy with it currently, mostly lighting and TRVs.