feat(teal): beancount: minion: update config

There are various plugins I would like to have for settling up some
expenses from a holiday. Additionally, there are some sensible settings
that I'd like to nail down in nix config.

Change-Id: I344c13e14be5bbdb74118ab162cda2fbc3e7e7fc
Reviewed-on: https://git.clicks.codes/c/Infra/NixFiles/+/861
Reviewed-by: Skyler Grey <minion@clicks.codes>
Tested-by: Skyler Grey <minion@clicks.codes>
diff --git a/systems/x86_64-linux/teal/default.nix b/systems/x86_64-linux/teal/default.nix
index fce4ae1..f3ea080 100644
--- a/systems/x86_64-linux/teal/default.nix
+++ b/systems/x86_64-linux/teal/default.nix
@@ -183,6 +183,7 @@
         enable = true;
         extraPythonPackages = [
           pkgs.clicks.beancount-autobean
+          pkgs.clicks.beancount-beancount_share
           pkgs.clicks.beancount-smart_importer
         ];
         tailscaleAuth = true;
@@ -204,6 +205,7 @@
             favaExtraOptions = {
               invert-income-liabilities-equity = "true";
               auto-reload = "true";
+              fiscal-year-end = "04-05";
               import-config = builtins.toString (pkgs.writeText "minion-imports.py" ''
                 import autobean.truelayer
                 from smart_importer import apply_hooks, PredictPayees, PredictPostings
@@ -229,6 +231,23 @@
               '');
               import-dirs = "/var/lib/private/fava/minion/";
             };
+            extraConfig = ''
+              plugin "fava.plugins.tag_discovered_documents"
+              plugin "fava.plugins.link_documents"
+
+              plugin "beancount.plugins.pedantic"
+              plugin "beancount.plugins.unrealized" "Unrealized"
+              plugin "beancount.plugins.implicit_prices"
+
+              plugin "beancount_share.share" "{
+                  'mark_name': 'share',
+                  'meta_name': 'shared',
+                  'account_debtors': 'Assets:People',
+                  'account_creditors': 'Liabilities:People',
+                  'open_date': '1970-01-01',
+                  'quantize': '0.01'
+              }"
+            '';
           };
           "testing" = lib.home-manager.hm.dag.entryAfter [ "clicks" ] {
             name = "Test Data - May Be Wiped At Any Time";