tvl-depot/users/wpcarro/tools/monzo_ynab
Vincent Ambo aa122cbae7 style: format entire depot with nixpkgs-fmt
This CL can be used to compare the style of nixpkgs-fmt against other
formatters (nixpkgs, alejandra).

Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: cynthia <cynthia@tvl.fyi>
Reviewed-by: edef <edef@edef.eu>
Reviewed-by: eta <tvl@eta.st>
Reviewed-by: grfn <grfn@gws.fyi>
2022-01-31 16:11:53 +00:00
..
monzo subtree(users/wpcarro): docking briefcase at '24f5a642' 2021-12-14 02:15:47 +03:00
ynab style: format all Go code 2021-12-19 18:05:04 +00:00
.envrc refactor(wpcarro): Remove briefcase references 2021-12-24 01:46:31 +00:00
.gitignore subtree(users/wpcarro): docking briefcase at '24f5a642' 2021-12-14 02:15:47 +03:00
.skip-subtree fix(wpcarro/nix): Remove <briefcase> references 2021-12-15 15:49:40 +00:00
auth.go subtree(users/wpcarro): docking briefcase at '24f5a642' 2021-12-14 02:15:47 +03:00
job.nix style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
main.go style: format all Go code 2021-12-19 18:05:04 +00:00
README.md refactor(wpcarro): Remove briefcase references 2021-12-24 01:46:31 +00:00
requests.txt subtree(users/wpcarro): docking briefcase at '24f5a642' 2021-12-14 02:15:47 +03:00
shell.nix fix(wpcarro/nix): Remove <briefcase> references 2021-12-15 15:49:40 +00:00
tokens.go subtree(users/wpcarro): docking briefcase at '24f5a642' 2021-12-14 02:15:47 +03:00
tokens.nix style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00

monzo_ynab

Exporting Monzo transactions to my YouNeedABudget.com (i.e. YNAB) account. YNAB unfortunately doesn't currently offer an Monzo integration. As a workaround and a practical excuse to learn Go, I decided to write one myself.

This job is going to run N times per 24 hours. Monzo offers webhooks for reacting to certain types of events. I don't expect I'll need realtime data for my YNAB integration. That may change, however, so it's worth noting.

Installation

Like many other packages in this repository, monzo_ynab is packaged using Nix. To install and use, you have two options:

You can install using nix-build and then run the resulting ./result/bin/monzo_ynab.

> nix-build . && ./result/bin/monzo_ynab

Or you can install using nix-env if you'd like to create the monzo_ynab symlink.

> nix-env -iA users.wpcarro.monzo_ynab

Deployment

While this project is currently not deployed, my plan is to host it on Google Cloud and run it as a Cloud Run application. What I don't yet know is whether or not this is feasible or a good idea. One complication that I foresee is that the OAuth 2.0 login flow requires a web browser until the access token and refresh tokens are acquired. I'm unsure how to workaround this at the moment.

For more information about the general packaging and deployment strategies I'm currently using, refer to the deployments writeup.