{ 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. # # 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. { # 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"; }; }; }