Skip to main content
  1. Tags/

Nix

2025


Ubuntu Summit 25.10: Personal Highlights

·1391 words·7 mins

I recently had the privilege of attending the Ubuntu Summit 25.10 - an event hosted by Canonical to celebrate the release of Ubuntu 25.10, and provide a platform for open source projects from around the globe to showcase their work.

This post includes some personal highlights and a brief summary of some of the talks.

Packaging the Multipass Flutter GUI for NixOS

·1599 words·8 mins
Multipass’ GUI application recently got a huge rework. Implemented in Flutter, the GUI provides a much improved way to manage VMs. This post outlines the work I did to update the Multipass package in nixpkgs to build and include the Flutter application, which should serve as a useful reference for anyone looking to package a native Linux Flutter application in with Nix.

2024


Experimenting with Rust, Nix, K6 and Parca

·6266 words·30 mins
A post outlining my journey into Rust, and how I reimplemented the server that powers this very website in Rust, then benchmarked both the old and new implementation with K6, investigated a performance issue with Parca and then automated the whole lot using Nix!

Hot Tub Monitoring with Home Assistant and ESPHome

·2126 words·10 mins
A short blog post explaining how I replaced a proprietary wireless temperature monitor for my hot tub, with a simple ESP32 based micro-controller and a cheap bluetooth pool thermometer, all linked up with Home Assistant.

Writing a Home Assistant Core Integration: Part 2

·3053 words·15 mins

Part 2 of a micro-series of blog posts that outlines my journey toward authoring a Home Assistant Core integration for the Roth Touchline SL heating system.

This post covers the actual build and upstream contribution of the Home Assistant Core integration.

Writing a Home Assistant Core Integration: Part 1

·3468 words·17 mins

Part 1 of a micro-series of blog posts that outlines my journey toward authoring a Home Assistant Core integration for the Roth Touchline SL heating system.

This first post covers the design and build of a Python API client for Roth’s upstream API that controls the underfloor heating systems.

Libations: Tailscale on the Rocks

·2567 words·13 mins
A deep dive into my home grown cocktail recipe app which speaks Tailscale natively using tsnet, and serves up delicious drinks direct to your tailnet. Libations is built with Go, Nix and Vanilla Framework.

A homelab dashboard for NixOS

·2101 words·10 mins
The homepage-dashboard NixOS service previously enabled the deployment of the wonderful homepage dashboard, but its configuration was not handled natively in Nix by the module. This post shows how I added support for native configuration, and how you can migrate.

Contributing Scrutiny to nixpkgs

·2216 words·11 mins
A follow on from my last post, outlining the process of upstreaming Scrutiny to nixpkgs to make it easier to consume, and have it included in future NixOS releases.

Packaging Scrutiny for NixOS

·3477 words·17 mins
A detailed walkthrough how I packaged Scrutiny, a S.M.A.R.T disk monitoring tool, for NixOS. Includes details of creating a NixOS module and using the NixOS testing framework to validate its functionality.

Building a blog with Go, Nix and Hugo

·1575 words·8 mins
Documenting how I render, serve, build and deploy my personal website and blog using a combination of Go, Hugo, Nix and Fly.io.