No description
Find a file
2025-12-30 22:11:21 -05:00
modules/actualbudget-report fix: make module work and add instructions for using 2025-12-26 17:23:31 -05:00
.env.example chore: update .env.example to demonstrate recipients format 2025-12-22 10:13:16 -05:00
.envrc chore: get devenv fully setup for working on the project 2025-12-22 11:22:46 -05:00
.gitignore chore: get devenv fully setup for working on the project 2025-12-22 11:22:46 -05:00
devenv.lock chore: get devenv fully setup for working on the project 2025-12-22 11:22:46 -05:00
devenv.nix chore: modify devenv 2025-12-22 12:03:44 -05:00
devenv.yaml chore: get devenv fully setup for working on the project 2025-12-22 11:22:46 -05:00
flake.lock chore: init 2025-11-11 10:51:59 -05:00
flake.nix chore: release v2.0 2025-12-30 22:11:21 -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!: SMTP now works properly in non-dev environments 2025-12-30 21:50:16 -05:00
README.md docs: fix syntax error in README.md 2025-12-27 11:04:28 -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):

nixpkgs.overlays = [ inputs.actualbudget-report.overlays.default ];

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=
    BUDGET_ENCRYPTION_KEY=
'';

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

Development

If you are on NixOS and have devenv installed, devenv up -d will spin up the mailpit instance and devenv shell will give you tools. If you do not have devenv it is provided in the devShell output at nix shell