{ ... }:
{
  _class = "clan.service";
  manifest.name = "actual-budget";
  manifest.description = "A local-first personal finance app ";
  manifest.readme = "A local-first personal finance app";
  manifest.categories = [ "System" ];

  roles.default = {
    description = "A default server role.";

    perInstance.nixosModule =
      {
        lib,
        config,
        ...
      }:
      {
        services.actual = {
          enable = lib.mkDefault true;
        };

        clan.core.state.actual-budget.folders = [
          config.systemd.services.actual.serviceConfig.WorkingDirectory
        ];
      };
  };
}
