From 9ceddb33272e5fca6382c1b4dec2074bd1167738 Mon Sep 17 00:00:00 2001 From: Karan Jayachandra Date: Sat, 18 Jul 2026 23:04:53 +0200 Subject: Simplify config and add AdGuard DoH/DoT support - Replace the hand-rolled Podman OCI container for Actual Budget with the native services.actual module (available in the pinned nixpkgs release); the container never actually had a backend enabled, so it likely never ran. - Collapse cgit's Caddy routing to a single reverse proxy - the smart-HTTP git backend was already served on the same nginx vhost/port as cgit itself, so the separate /git/* -> 8085 route was dead and pointed at a port nothing listened on. - Drop the unused kvm-intel kernel module from the guest hardware profile, and rename disko's misleadingly-named ESP partition (it's ext4, not a real EFI System Partition). - Point common.nix's disabled autoUpgrade flake URL at this repo's own cgit hosting instead of a generic GitHub placeholder. - Add AdGuard Home DNS-over-TLS (853) and DNS-over-HTTPS (8443) support, backed by an independent ACME certificate (modules/acme.nix) issued via a webroot Caddy serves on port 80. Co-Authored-By: Claude Sonnet 5 --- modules/actual.nix | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) (limited to 'modules/actual.nix') diff --git a/modules/actual.nix b/modules/actual.nix index 62593a1..95bbc7d 100644 --- a/modules/actual.nix +++ b/modules/actual.nix @@ -1,32 +1,22 @@ -{ pkgs, ... }: +{ ... }: # Actual Budget - local-first personal finance application. # -# Runs as a Podman OCI container because the native services.actual NixOS -# module is not available in nixos-24.11. The container listens on -# 127.0.0.1:5006; Caddy handles public HTTPS termination. +# Native NixOS module (services.actual, available since this flake's pinned +# nixpkgs release). Listens on 127.0.0.1:5006; Caddy handles public HTTPS +# termination. # # On first visit to https://budget.karanj.com the app prompts you to set a # server password in the browser - no pre-configuration needed. # -# All budget data is persisted in /var/lib/actual on the host. +# All budget data is persisted in /var/lib/actual on the host (the module's +# own StateDirectory). { - # Ensure the data directory exists before the container starts - systemd.tmpfiles.rules = [ - "d /var/lib/actual 0750 root root -" - ]; - - virtualisation.oci-containers.containers.actual = { - image = "docker.io/actualbudget/actual-server:latest"; - - ports = [ "127.0.0.1:5006:5006" ]; - - volumes = [ - "/var/lib/actual:/data" - ]; - - environment = { - ACTUAL_PORT = "5006"; + services.actual = { + enable = true; + settings = { + hostname = "127.0.0.1"; + port = 5006; }; }; } -- cgit v1.3.1