diff options
| author | Karan Jayachandra <mail@karanjayachandra.com> | 2026-07-18 23:04:53 +0200 |
|---|---|---|
| committer | Karan Jayachandra <mail@karanjayachandra.com> | 2026-07-18 23:04:53 +0200 |
| commit | 9ceddb33272e5fca6382c1b4dec2074bd1167738 (patch) | |
| tree | cac68c1bdc90c9ab618e4fdb4c8eb65d27d9a647 /modules/actual.nix | |
| parent | 718a79f8de2a55f2ab83cac7e8595cd3916ed486 (diff) | |
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 <noreply@anthropic.com>
Diffstat (limited to 'modules/actual.nix')
| -rw-r--r-- | modules/actual.nix | 32 |
1 files changed, 11 insertions, 21 deletions
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; }; }; } |
