No description
Find a file
2025-12-22 10:13:16 -05:00
modules/actualbudget-report chore: add nixosModule 2025-11-22 15:28:11 -05:00
.env.example chore: update .env.example to demonstrate recipients format 2025-12-22 10:13:16 -05:00
.envrc chore: init 2025-11-11 10:51:59 -05:00
.gitignore feat: Implement BudgetClient, add method for syncing bank 2025-11-11 16:14:10 -05:00
flake.lock chore: init 2025-11-11 10:51:59 -05:00
flake.nix chore: update sha256 2025-11-22 15:30:41 -05:00
go.mod feat: Implement BudgetClient, add method for syncing bank 2025-11-11 16:14:10 -05:00
go.sum feat: Implement BudgetClient, add method for syncing bank 2025-11-11 16:14:10 -05:00
LICENSE chore: add nixosModule 2025-11-22 15:28:11 -05:00
main.go fix: Uncomment the budget sync functionality, handle recipients string properly 2025-12-22 10:12:02 -05:00
README.md docs: update README 2025-11-22 17:49:50 -05:00

A simple Go service to generate and email reports on a schedule.

Dependencies

This depends on https://github.com/jhonderson/actual-http-api to provide the API. Setup instructions can be found on that repo.

Installation (NixOS)

If you're using NixOS we provide a simple flake module:

inputs.actualbudget-report.url = "git+https://git.wanderingcrow.net/TheWanderingCrow/actualbudget-report";

Then in your configuration (using sops-nix, you will need to adjust it if you use agenix or alternatives):

imports = [
    inputs.actualbudget-report.nixosModules.default;
];

# Fill out all the following environment variables for the service
sops.templates."actualbudget-report-env".content = ''
    BASE_URL=
    API_KEY=
    SYNC_ID=
    SMTP_USERNAME=
    SMTP_PASSWORD=
    SMTP_HOST=
    SMTP_RECIPIENTS=
'';

services.actualbudget-report = {
    enable = true;
    interval = "Mon-Fri 12:00:00";
    environmentFile = config.sops.templates."actualbudget-report-env".path;
};