BorgBackup and rsync.net on NixOS: Declarative Offsite Backups

A practical BorgBackup setup for NixOS with rsync.net: the manual CLI basics first, then a clean declarative `services.borgbackup.jobs` configuration with `sops-nix`, retention, pre-backup dump chaining, and restore verification.

nixnixosbackupsborginfrastructure

Refactoring Dotfiles into a Dendritic Layout

A host-centric dotfiles repo is easy to start and easy to outgrow. Here's what improved when I reorganized mine into a Dendritic-style layout around reusable aspects, public vs private modules, and shared inventory — plus the tradeoffs in indirection, naming, and boilerplate.

nixdotfilesflakesarchitecturedeveloper-experience

Legacy Deployment with Nix Flake Apps and systemd User Services

One flake can handle both NixOS and plain Debian or Ubuntu deploys. Here's a practical pattern for embedding a full legacy deployment workflow into flake apps: setup, install, build, systemd user units, database dumps, REPL shells, and shell aliases.

nixdeploymentsystemdlinuxflakes

Monitoring gpsd with Prometheus using prometheus-gpsd-exporter

Why the existing Python and Go gpsd exporters keep crashing, how a Rust rewrite fixes it, and wiring the whole thing up with Prometheus on NixOS — including the gpsd configuration that nobody tells you about.

nixnixosprometheusmonitoringrustgpsdgps

Prometheus Ecowitt Exporter on NixOS

Getting Ecowitt weather station data into Prometheus and Grafana with a Rust exporter and a NixOS module — with forwarding to Home Assistant and other receivers.

nixnixosprometheusgrafanaweathermonitoringrust