From 190c2ee5c51e934ce9f1839eba56229af6476235 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Fri, 30 Jan 2026 08:59:36 +0100 Subject: [PATCH 1/7] feat: changes to home assistant getting home --- .../fw/modules/home-assistant/coming-home.nix | 27 +++++++++++++++++++ hosts/fw/modules/home-assistant/default.nix | 2 ++ hosts/fw/modules/home-assistant/locks.nix | 20 +++++--------- .../modules/home-assistant/power-saving.nix | 10 +++---- 4 files changed, 39 insertions(+), 20 deletions(-) create mode 100644 hosts/fw/modules/home-assistant/coming-home.nix diff --git a/hosts/fw/modules/home-assistant/coming-home.nix b/hosts/fw/modules/home-assistant/coming-home.nix new file mode 100644 index 0000000..30bc6d2 --- /dev/null +++ b/hosts/fw/modules/home-assistant/coming-home.nix @@ -0,0 +1,27 @@ +{ + services.home-assistant.config = { + rest_command = { + moltbot_home_arrival = { + url = "https://moltbot.cloonar.com/hooks/agent"; + method = "POST"; + headers = { + Authorization = "!secret moltbot_home_arrival"; + Content-Type = "application/json"; + }; + payload = "{\"message\":\"I just arrived home. Read home-reminders.md in my workspace. This file may contain reminders to tell me, or instructions/tasks to perform (like looking something up). Execute any instructions, send me the results along with any simple reminders, then clear the file content (keep the header). If the file is empty, just welcome me home briefly.\",\"name\":\"HomeArrival\",\"deliver\":true,\"channel\":\"whatsapp\",\"to\":\"+436607055308\"}"; + }; + }; + "automation home_arrival" = { + alias = "home_arrival"; + trigger = { + platform = "zone"; + entity_id = "person.dominik"; + zone = "zone.home"; + event = "enter"; + }; + action = { + service = "rest_command.moltbot_home_arrival"; + }; + }; + }; +} diff --git a/hosts/fw/modules/home-assistant/default.nix b/hosts/fw/modules/home-assistant/default.nix index c7e1eac..ef3393f 100644 --- a/hosts/fw/modules/home-assistant/default.nix +++ b/hosts/fw/modules/home-assistant/default.nix @@ -101,6 +101,8 @@ in ./shelly.nix ./sleep.nix ./snapcast.nix + + ./coming-home.nix ]; networking = { diff --git a/hosts/fw/modules/home-assistant/locks.nix b/hosts/fw/modules/home-assistant/locks.nix index a2160b4..edcd5af 100644 --- a/hosts/fw/modules/home-assistant/locks.nix +++ b/hosts/fw/modules/home-assistant/locks.nix @@ -1,8 +1,6 @@ let - devices = [ - "device_tracker.dominiks_iphone" - "device_tracker.dominiks_mp01" - "device_tracker.dominiks_fairphone_6" + persons = [ + "person.dominiks" ]; in { services.home-assistant.extraComponents = [ @@ -14,18 +12,12 @@ in { alias = "house_door"; mode = "restart"; trigger = { - platform = "state"; - entity_id = devices; - from = "not_home"; - to = "home"; + platform = "zone"; + entity_id = "person.dominik"; + zone = "zone.home"; + event = "enter"; }; action = [ - { - service = "script.turn_on"; - target = { - entity_id = "script.turn_on_circuits"; - }; - } { service = "lock.unlock"; target = { diff --git a/hosts/fw/modules/home-assistant/power-saving.nix b/hosts/fw/modules/home-assistant/power-saving.nix index cf645be..1824242 100644 --- a/hosts/fw/modules/home-assistant/power-saving.nix +++ b/hosts/fw/modules/home-assistant/power-saving.nix @@ -23,12 +23,10 @@ "automation arrive home power" = { alias = "arrive home power"; trigger = { - platform = "state"; - entity_id = [ - "device_tracker.dominiks_iphone" - ]; - from = "not_home"; - to = "home"; + platform = "zone"; + entity_id = "person.dominik"; + zone = "zone.home"; + event = "enter"; }; action = [ { From 1ca4a59fe5bc1e05777ea814a75c84e2a10e70e1 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Fri, 30 Jan 2026 08:59:52 +0100 Subject: [PATCH 2/7] feat: fw add moltbot --- hosts/fw/configuration.nix | 1 + hosts/fw/modules/dnsmasq.nix | 1 + hosts/fw/modules/moltbot.nix | 58 ++++++++++++++++++ hosts/fw/modules/web/proxies.nix | 27 +++++++++ hosts/fw/secrets.yaml | 101 ++++++++++++++++--------------- 5 files changed, 138 insertions(+), 50 deletions(-) create mode 100644 hosts/fw/modules/moltbot.nix diff --git a/hosts/fw/configuration.nix b/hosts/fw/configuration.nix index a2661ff..38a3669 100644 --- a/hosts/fw/configuration.nix +++ b/hosts/fw/configuration.nix @@ -37,6 +37,7 @@ ./modules/ai-mailer.nix # ./modules/wazuh.nix + ./modules/moltbot.nix # web ./modules/web diff --git a/hosts/fw/modules/dnsmasq.nix b/hosts/fw/modules/dnsmasq.nix index 7461ae6..f1e0e79 100644 --- a/hosts/fw/modules/dnsmasq.nix +++ b/hosts/fw/modules/dnsmasq.nix @@ -139,6 +139,7 @@ "/dl.cloonar.com/${config.networkPrefix}.97.5" "/jellyfin.cloonar.com/${config.networkPrefix}.97.5" "/audiobooks.cloonar.com/${config.networkPrefix}.97.5" + "/moltbot.cloonar.com/${config.networkPrefix}.97.5" "/deconz.cloonar.multimedia/${config.networkPrefix}.97.22" diff --git a/hosts/fw/modules/moltbot.nix b/hosts/fw/modules/moltbot.nix new file mode 100644 index 0000000..7bc9295 --- /dev/null +++ b/hosts/fw/modules/moltbot.nix @@ -0,0 +1,58 @@ +{ config, pkgs, lib, ... }: + +with lib; +{ + # Moltbot - AI assistant with WebChat + # Container with browser support for web automation + + virtualisation.oci-containers.backend = "podman"; + + # Secret for gateway authentication token + sops.secrets.moltbot-gateway-token = { + key = "moltbot-gateway-token"; + }; + + # Persistent directories on host for backup + # UID 1000 is the 'node' user inside the container + systemd.tmpfiles.rules = [ + "d /var/lib/moltbot 0755 1000 1000 - -" + "d /var/lib/moltbot/home 0755 1000 1000 - -" + "d /var/lib/moltbot/extensions 0755 1000 1000 - -" + "d /run/moltbot 0700 root root - -" + ]; + + virtualisation.oci-containers.containers.moltbot = { + image = "ghcr.io/moltbot/moltbot:main"; + + # Run gateway mode, bind to all interfaces in container + cmd = [ "dist/index.js" "gateway" "--bind" "lan" "--port" "18789" "--allow-unconfigured" ]; + + ports = [ + "${config.networkPrefix}.97.1:18789:18789" # Gateway/WebChat + "${config.networkPrefix}.97.1:18790:18790" # Bridge + ]; + + volumes = [ + "/var/lib/moltbot/home:/home/node:rw" + "/var/lib/moltbot/extensions:/app/extensions:rw" + ]; + + environment = { + HOME = "/home/node"; + TERM = "xterm-256color"; + MOLTBOT_STATE_DIR = "/home/node/.moltbot"; + CLAWDBOT_STATE_DIR = "/home/node/.moltbot"; + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = "false"; + }; + + extraOptions = [ + "--pull=newer" + "--network=server" + "--ip=${config.networkPrefix}.97.60" + "--init" + # Chrome sandbox capabilities + "--cap-add=SYS_ADMIN" + "--security-opt=seccomp=unconfined" + ]; + }; +} diff --git a/hosts/fw/modules/web/proxies.nix b/hosts/fw/modules/web/proxies.nix index 5cc42d5..1709e39 100644 --- a/hosts/fw/modules/web/proxies.nix +++ b/hosts/fw/modules/web/proxies.nix @@ -103,4 +103,31 @@ ''; }; }; + + services.nginx.virtualHosts."moltbot.cloonar.com" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + + # Restrict to internal networks only (LAN + VPN) + extraConfig = '' + allow ${config.networkPrefix}.96.0/24; + allow ${config.networkPrefix}.97.0/24; + allow ${config.networkPrefix}.98.0/24; + deny all; + ''; + + locations."/" = { + proxyPass = "http://${config.networkPrefix}.97.60:18789"; + extraConfig = '' + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + ''; + }; + }; } diff --git a/hosts/fw/secrets.yaml b/hosts/fw/secrets.yaml index a15e913..f45f13f 100644 --- a/hosts/fw/secrets.yaml +++ b/hosts/fw/secrets.yaml @@ -1,70 +1,71 @@ -ai-mailer-imap-password: ENC[AES256_GCM,data:shEEPVXXUwyKpqkZgvUifdxd4w==,iv:IgGyuaJLHm7ARgpzKQFUa4CoJtgxgYn6drMXaQqfG9A=,tag:PFjvzSk+l9+M16inz+X+uA==,type:str] -ai-mailer-openrouter-key: ENC[AES256_GCM,data:kJ/ujzpPep5zTv3j6ZKG2N2JaDl6Qi2e1Kz3u7Eu9aXYzziFnBcCIbru6usuKXuC1O7QhozaVemeirthUCOqFV4lzRk8cQsN+w==,iv:dngoIRY/Rr73wbWIl6htCO4TWqMdGt2oxHZS9lT+nFc=,tag:oTHu9yuDl2zTYhjNbRqmow==,type:str] -borg-passphrase: ENC[AES256_GCM,data:VfSwMgBHxETZMUXeEXnvQbRnf/C9Coq2IgrJBUrGsCAqWIvBqioBMTS47/fDPElj2sacn6su3v7vFSNVacf/u1X1+jE=,iv:OC4h9/kD0B1fd1EvBrAb09lu/0mLQcCwV3/gJLMtqDQ=,tag:NaDPQE3bg4eP49mSN6SdPg==,type:str] -borg-ssh-key: ENC[AES256_GCM,data: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,iv:12jhIp7FXTaUYGwh9JtO4EEnz7ps0D2wQgVnXWeeWzY=,tag:IeGpZIvOlVtXf7rp8e612A==,type:str] -ddclient: ENC[AES256_GCM,data:5TD+zbq8gbfpg0zL+Q/rZAM6/UWpdoQnWGUzxffEHNY=,iv:yOYlurCmeFpck81MT3tYmcVwSLH4Q+h8KvWAR56NGGU=,tag:XUxGcSOnn4xWHfpmj9FfDA==,type:str] -filebot-license: ENC[AES256_GCM,data:3Z01llfp3EovHTcOeALZvgoF9Sg9+ZTuSxeb+U5D06+uwl9QCM0Gl9FJ6iwt9gWJTkMS19FMHmG6smpZKVb11GZUFT3D8yTavu9AqRumZYBW6tPR8Q/WHGRSP1kUD0BLL3M3qBlbipqg7XSW4qElGKmyPCW/eswEXnhuIhcBf1wJ9q36WqQuxtOzRLhGi3S8ZaMdfQ8EdGTsePRuYA8qAinuO9G+yejQfzhrHZ5fZhcbTPWlKMzQt+q2m03N0A7Yf6DMuWujmdXbMX7FgRVMvaiz7cCgsKVQQOzRwEVbnivA+3b/BGTY98YJZs2ULKH9gMtnjqt9Pxc4iQVnJ5lUdnBXrsYcU2JVeKhMD3/h9Ds7P5P/Xzv63dvFAdQfJtMLeSvFr2+zbLL3n/1yeamtEZq/9vXs6Sj1Gerrfv/3y0oJbxo7mdlMEZ5hdkFz9m8LZ+b+G4StcWOR8I3fxKoSzXOM2SfmFQ2qeJaIaO8NfhZ6bwfsTZtevZksAeF/MY8hAAUJc4FARV7y0n6X3p5PC/iok1TrtIXOlgzMP8UVZCytDOUztqvpguag4/QpvkAZ0aOQ8ohXxAdzF2jW513beWjN1DGCUDsIn3angS3C80ybp8CsG4NNZBFsW6wL2XcmX6nHaXA9YTRLg3neIXFNcHSnRKHGZGdGIKpg5zeHZJeoN89T4YokUxSw8709F+Tzm5zowNAvnw/a3tQHCpLzy2EoS1MYeFnl5ReuRlitYjTwvZY/Zl9gMI5IGNlLGaSbW6G3r3Vkjtz0XlX/NcD6yk6usM2w5HRUaAaM4uUWvIADTcWG+IVVFgXVVRpdl8eC/4jWf85/naQEHNPch5PmRHMWO8br7iamZzkqODL/iz6UQzEUROydcCvj2KaCKrg=,iv:n/o313QaIZjmp0RJvGw/x24AGh+ZaLcMnyrMdFaugJg=,tag:flPEv7y9UEObPPSkYSwARw==,type:str] -forgejo-mailer-password: ENC[AES256_GCM,data:BK1hLTsz1GtOEHWnXeM8WhFtnUUm5PLFYNlEwTHQ2FjWNU+e244eFWj3P0xUkbXPF5poVUiMOD74LXVLbmlEQm8s,iv:VVXV7awaChr4UUKNwVMrK4MYA2NPcg7PsOEIYu33EQg=,tag:eTcguiaujYGoFf2Mim/TOg==,type:str] -gitea-mailer-password: ENC[AES256_GCM,data:jEj/pbIwJbgjlAJT/C27ZxRopzE7btaBeFV5Nnqzgwqyf/EZO1k257D263jUZX2NWmuB/jMAY8IYc8bO1BJtYiyB,iv:gPGILhy4FFDfqeq762GgHKBoBdCFnZqcLRFtxPIafAU=,tag:gzgDv5WcXGCJWlnqOpkhzA==,type:str] -gitea-runner: ENC[AES256_GCM,data:skZDOjcPFNEEYWf8IEK1goF0r7Ei9K7A9f+qdbqnv/zi/6pF7Ol2wEe6knmcbMUG7NPGg5LETqsP2/ifi0Q7TZO3aFq/cIY4hC2FEhN6mgEd2oWj8H9BT5Fop4IwCQE1a2pF36njmooEs7q83ccnQTmo7K+k2a9jrS5aEVN5fw2H75cppjoc5JSur4Z9oET/BJpeM7KhXBUui3Ebb0fD38WJItWOEXNGhyFZqtsyPFRcgJpUYejBnXo5Y08jCBMNwN1lQwl+1y+FpzJFwXGrfdQ=,iv:ossCQKu2Mg52k5UN8wHDJdC4A9+74X02LeblgINf4qw=,tag:eNekPZUC56Lf4BTax3lhgg==,type:str] -gitea-runner-token: ENC[AES256_GCM,data:6+0h+au4hg0s7XCWsHxlPls/oJUJadph0yG7BVgt15p9UFQhvyEUxIv9vqc265M=,iv:evHWbZz5/voZqKudTS1D+t/n9cSUTaYbv0JCoOUQuiE=,tag:4XMMBuIUPpvxq7iYgDnEyA==,type:str] -home-assistant-ldap: ENC[AES256_GCM,data:imgkUpeBrOG19uKCrb7f3hya3HKqVFiGKXodnb7iMom3bWWtqEQDusJtUssQxPZDvpCszejRfG/j7UZ6iob6KA==,iv:reORLwrkQe0e4c01v4//g/xBU38hXZuv7F2L+TGALVE=,tag:U9KDtcraJsWXSmVuK6xxEA==,type:str] -home-assistant-secrets.yaml: ENC[AES256_GCM,data:xR+HJgS7maPQS3/9WO+z7IKJ1aJG44MhQLBZvciyCgNpyxp17YbKaTnrt19URIWFtbgWqacDgn16GB6vZfBTsf6f3NdPsLVAV21sHr2jAXogfiZds1Db2TsBrfTpUn9ygycQaJwU0D/nkzJxxDJfegvzTYZeiTsn7Gjq2I70+2rOVjpNwXfWQbxNvxB2ywoo1Dg52Bu0wXauprZYGYt84bGg9ZFXCsLFCE4p9fNWRiZKaH7E/ugGxyF07QdfEWGS6gfE6c+/EsHM8w==,iv:wpmbJTweNQfm7fuBM3eyA6CnNL7+o/J/4bEGl6my5GY=,tag:i+VJs/LLVCx+NNEUBOmZHg==,type:str] -piped-db-password: ENC[AES256_GCM,data:6kzLGlwXvr5TZUwKZ7v+ypB+VLDshQv/vKpt/uE1E31HMrK57PcS+pHrK/U=,iv:EWSfx3PBTg3JHGWt31dPi620WZRt/HqYI1KijY7/w24=,tag:xBV6u3NByVaq4tnflmb+mg==,type:str] -pushover-api-token: ENC[AES256_GCM,data:CgqZHBAFOrzTmdwmWTYDJQ7ri2Z7PRzeMzcfD0Hc,iv:5xkiTei/6sr978E2QwQVmLswJEmSPWmfs/RSyB+D2Rc=,tag:vy5GRtAyQA7mLyePau84cw==,type:str] -pushover-user-key: ENC[AES256_GCM,data:L9E5vCh7lAWG+WMoJSV6ralPzl5yeBDSk1kvYmlq,iv:gOetcV9E0uTzeEUoDbswKo9zXvAk9GpoFg/A+TeGY60=,tag:q82CO6mfS+n9q8TfuvXX5Q==,type:str] -wrwks_vpn_key: ENC[AES256_GCM,data:o0v0AZYBaClYC1w5rNIjrnkORILZ2o/+Z5nQ3MTJgHPvvnZJ5AIORuQ4QDUmpAA8VhMivn5F3EKiZ00nBDW/Nw==,iv:XhvTRwDSfseRaUgJ8lbcL/QnaA/eBEvTByLoJh2PeXw=,tag:GLS4eGETG9Q2W6tuW9EXZA==,type:str] -wg_cloonar_key: ENC[AES256_GCM,data:iAyabwyNKEy1VrsXgAPMljxXYg6CQv/n6DzJrjLtAPDO4VbFRLSj82ln7V0=,iv:8ng5RD/hfKVeOx5aGDwilkKJQ60qJbLtgWXBiE3dqb0=,tag:zmE3BO5490U7UdawQ6i/5w==,type:str] -wg_epicenter_works_key: ENC[AES256_GCM,data:JehIfUz4Bi9mNf7nZZufcVf8FxH8MLNFKSJJ+E0/I7rbh4thzUbIjYeLmaI=,iv:KyBToeAMX1jwehlmCi9zi40+RS18RAYExpAlGL4lf/0=,tag:K/o47pmCsqjoGWmGeF+DVQ==,type:str] -wg_epicenter_works_psk: ENC[AES256_GCM,data:kq4LLsNBP6fm7lhU2OS+kUZy4xRjq4hBpT8Lgo/dFpWb/FPL/qWobVG3nDs=,iv:Qm41W1zbSnml8l0yu8yjpE/OOHttNan29gngft2v0P0=,tag:t2qjuZnarRK+9BlmAjXclg==,type:str] -wg_ghetto_at_key: ENC[AES256_GCM,data:FaI5/1P7pXUEA2/5kLiGheK7f99/ntCUNdC3W3a23M1uhNYVGA0AXA+OIXk=,iv:V7KHwsIMewJylTPOXOnSQMkI06w6U1vXecBx/NUcyg4=,tag:gsr4vkqOlN5pexhyycWquQ==,type:str] -matrix-shared-secret: ENC[AES256_GCM,data:qfXA1eFLyFM4hIk5IwXc1zfWVmwvTgUNcSJDYGar0L9b+cHD8kM0qEr2DsPkDcy+7DJNldK+tcdgkCV8GA==,iv:XqwxLRs3ADyjmmKVKMMsANGhGzTg7PXQNiYnrp+WYFo=,tag:duSgoaxqm3z71jGfP9lCoA==,type:str] -phpldapadmin: ENC[AES256_GCM,data:oDgmCm38ZEhcpOvyY49jv+7FmikzrN2WCxJ9i5wvOTvUFblz1pVSe3/qm0VZ/IqdbudTpoOHIc97znAE129fPPNGbd3prY3v+dXn5JpUhcSuBT4QOf3aXVUlPzUVgTXt9E/Y/ASX39dPXGWEDt/XelXHVkgQAHwAt4XFSx20Ph2b1x1s1Gs/WETZe1Dyl8y4TyMRn4TuGYvm1l8iob8RLGazCk5XOGL+0AyLe/0H1vTKZN9lu7S/VH6612tDQxVJf2grzmZu1t8P9QBVgFxpmqdGsudMMeGoO8ajOWkgu2DUziZc0ul+PNdDdPThpetV6jjcZ8qJ9bZsbbDadZC8WWmKt+P+WPfE,iv:IUhwcZez5ROJuiKynSmfvI7j5iLF4arJokt6Gs10Xhs=,tag:MnVgO7JyOetB1j2ZZtxLLw==,type:str] -palworld: ENC[AES256_GCM,data:ZEf4Qw6FiHQwgWJAvX/oy90rJWffjwqqu9aqhvtzY8BmffhGDDPc653GEwxBEMRdBBVot+puxYkHA/WvQgPb1FaU+qXmAkclw9ayNcxqm7Ra74thV9JAseNH6xuDycWD0mNNEF6IRjsiB86JpeOivjrZeZy5zHSieMx01u235szmR+j/qX+QOo+E5NyVNPyIIT1LiJ3MpNPLltzNfiAfuDMbT+2VHC3EzU5BxxrXJ6iY9nRvDLoLOznfGG63eNxq4xRH4BL7kp0Qv4a8JlQlV9rfGyKqcwWH4FrRVNP/1xdT2Q+9qBHlnSafY2sj0UXI2FGvbwhuHxFZ/OSVwohe5ag/xtCVDgFE8bKaKPyXl+qgR9gNvwyAYRoOv1WDQxc4MkzJIBchPGLA2L5RFGZddByOUAR4LsyqvC6n8jjU19dSFaEGWSJDF068Szq2/dWdAl19Edw/nTvfRqVnJSM2m2tf5F1kBBM/yrtJrzDzmTd/wDwLEfhbO0PyktWjltjrrEzqxlaLeIYDKwx3+vlDLn+7rxaHZAHiwshGGYgW9Yxf0Epb2+o0dNgJ6X1+v+vbeWfgyobLklA7qKvodoEvAHLGsW9YicURNNjy/ERwA8ojSezfEZ6+pRhrk5s5HUDtq4b5tbD1FocPYXZyhSlIIqc02FGWJnQQamooa1hTnABYRDz0DtFudLHvRDFnUei4v827nr97y9e91GC21Q==,iv:DtA27Ksq1pGMxlq3UJ4HxYiJC4dTjBJD/aRbDIijyNE=,tag:J0kvm+khW63qfmHZwXzyRg==,type:str] -ark: ENC[AES256_GCM,data:mwIyAXNT6rAEoxyh+kbTnTlZMgbYlRUzAKHhbI8CG7AdG5l1gNhnnAfcIPWjx2Y+VAwL6XIRJL18FCxCB52UHMDqLpkdn4/pf4gaJ6zLzLuHBNPGDtLB21+frderjuVbOMxwV6Dx946clgIHFA/FY9ooKOknS5K4mNQm7wyrTUJQ38shyRMwbbpPA9sQOK41XMkaU0Axdpie1adZiN+Vq9ikwf4H1TglymPeXvIypEwWN0iJXaHwr7CKGDyWixYAjUz4VwfkeNVfyR1u,iv:3pHjP5CZLM5xULs5oSk6BlCEHccqdrrVGLZctYSb9eA=,tag:wLMORvSvdcb/If86vZsXXg==,type:str] -firefox-sync: ENC[AES256_GCM,data:osI5nogy+LQQ7KAECZlJ2cO2eZ5lz40yON6kgW9ROmicpuukr7+9R7jURYNZg2ETNMrZpK0bSK6zWoe9hlcwtTwVz815ocLU+o4rdUFpUjE36a0+toT9AWhwF0K9RVwITK6A5nIW8TADH3RaGZI6PGQzrjn9F1nMruo3gn0h1Gv3R4mT1ySpZxc4CV9zyKE=,iv:ou78yVK/d9X4sKSmSp2s/WhRp1TCe+adbK52He5qVE8=,tag:FJgLYpS3dtwku4Vs/SvXUw==,type:str] -knot-tsig-key: ENC[AES256_GCM,data:Mj201Ikwl6VuU8cBmwRTJbApOfCwIYt/g0dZL8kYDBoLuUNkkRygO7HB+vQ=,iv:vDjQ2Of8/u4gJHZD+brUeGcjWSv3psAYTUp8FXGVDaw=,tag:7IBISNf7RnV99zYAKAyTpQ==,type:str] -mopidy-spotify: ENC[AES256_GCM,data:oZag4Uyhk7Lkd2awfInu0bABKB2aB9ZxgQ/oOqJ5QJ/HEQO6ysWVBodu2MF2PPBe13Y6zv3HAnz4DEi1rDNBRwxRloyAwSAnB8R1uTuIh0fnJ2lr64RuT2+EermmhVz/HoypCnKTlFad39d16cRCEIy3n7cYnbG3,iv:xZAroRKaKn0xuMieUWcs4KdtRyVbuxm2HaWLV5zMr/8=,tag:i0kiytOZhVXKmSvF41T/Og==,type:str] -lms-spotify: ENC[AES256_GCM,data:1GPYCleCAkqkctywo6QTTLCBv4nq1I+jGXreYXfYZX3X9qdDjBlGuQyIIzD/krspUg5iYm0m1z6CEkKZQOeCs6IUv7Da+iMV1Kte3/nosWpEqYtYeC0kIw3wV9RtAIsMCFADj9W/w97NTMjebg4CZdmqVjI8coFDEN9dKqfMWT5amsC+emH2oO4k67vA7lgBBhL69Wgi7YAC2lSL1EVvcestWSzVcIHWucH8VI7CIKXJOLNzPD6hsKoQARroo4N3lQZ/dTpd1A==,iv:7Ukq1yPXeoTTmFroXL6sOBG76INPqynKyrbBQIv1Y+A=,tag:KY2rfZrqUhm2xBSsjHRWDQ==,type:str] +ai-mailer-imap-password: ENC[AES256_GCM,data:h+7cYnh5KlxHsxuNPqeymzaP8w==,iv:arefLWSG15MWStl3OASrGJf5HS6vIBBOpMHbfesnou0=,tag:7n49QtZJYT4fnvep0fnspQ==,type:str] +ai-mailer-openrouter-key: ENC[AES256_GCM,data:RFf+are5v/3I/r5k6UeCYGZpjVjtbPZoZ+UoiJZIOobiP+TP7K8sooqaO9i88EyWafrZtwB+2gOkNxeSms2er7z+PsWmmnbSnw==,iv:82Z6IpMVj1t3kYKwF3K88WMAIQe4R+K6DefGgz3gmbI=,tag:PyqDejCBhXFZRkdfZyz89w==,type:str] +borg-passphrase: ENC[AES256_GCM,data:hpVWvXBM1T8dGXCjHL1+29Pm7jinmdc0tkZva5jI55KLCNbOug7exqcut5q6UziZAXr5WF2WJyelVC+h8CoNYxnj9wg=,iv:aCulcqhHqOP9OHZv/K3Gp0JgM8m/GWBxSlHEHYu7qC8=,tag:0pAb3kKJmGk9UvJ8gAZM3w==,type:str] +borg-ssh-key: ENC[AES256_GCM,data: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,iv:DywkJKhme43tO9mXYXGljvtiI68vqr7+Bja42MNJybo=,tag:M+a5FV1Bu85+diV+WEdAdg==,type:str] +ddclient: ENC[AES256_GCM,data:QgmeucM/Ypm6U7t8fT0htBB9xPiFFltyQi4g2I3W5j8=,iv:mI+abEjhJbwC9qMBkUXn1I2AjB8T73sfDw9nJTjkQGs=,tag:v/WT0DsXd0qXOR65lkSvaA==,type:str] +filebot-license: ENC[AES256_GCM,data:Emr9kESkXbs2vlyOo8MkkC28xylVm2xH48P53e//3v2CMEj83NuockfBCfwbn+tgNzm9zJW4gkiWsDzELQRcntEWZEKfcNYynWeBNFrcGuaB3farcIYk3EHcvf9ibVb5b8e52tRW0deJ/Jlk+TWtRbtswaATGgldMllt90MljGtIFlLcSbWtGwA01D5AjXR19nVqKmK0TABKhWRw0O7c75Lmy4kne0f+V1+g+5pfYqcuF+skH8UNv2JCH8Qx9peVN4Ez5tv45pREkfNLkLeJX+5W4lp1kO/ewJBDKUGvDZvDeXzWpCmnfD/X2c43G9bweB1Xs/L4H1T35NvFFmETGag5m6J3omA3wf0K0O65bcfLojKoZ4HuBP+0u3QXwtWKBUbz157OWRy14lZuMzmKDe2bw81H1mQcvwU7u0jNPxPTzsbxrdSNpxmwzXRYEk8FX5yIXdSgVogW/7hvMknUcNuN0x8gTpz4GCyEJBl105kmn3t5EDS08MlhsXs1Qzz9We+tEeXU034aVag3eFSpskSWhWuJVWWiEn2R1TC0YETGPwP8Zs4Y12Hhdd3Es0JaLd5C4TN2Ny1kQv/6gO1rREw30N0h+tDtnmqJApXaWjbLzw4PWFvPEBjWCYdejlT+h6pauKy/JKUWQkgM24ToTaWrprnJCSufkftsX6hniLGylbn9JzRNNVGco1/2fO4j3Uo1i0PR9ifkC4Xzpue5QYwGYY4tRCSRixbFCo2qbjnZiOzYSyjRrBYb4DQONi3yVECJOVEpBYAsiVGXXV+ExclTznBzS5yqKuB8JrtO5Lk48vKK6vebLwEFNmy7uvvGfD1eU9E9M2fuelhsZMkOV1KEFJGCs4lhaRUTCvWoyQJ46A4c8113HtlYEqw8XmE=,iv:TR2Q7wlBIEe9LHqSj+5MZZV57EP96zTmVJ9SP3TZWpM=,tag:z5QZCUynS70aZs2nvjdLvw==,type:str] +forgejo-mailer-password: ENC[AES256_GCM,data:aOIFbPmOEFFBInQ3riR+Eknzwm/eiKIF92i7HtX6MIngNXGfcpngIL3op0Hpoa0HfRhfpk95o3p6XMRIdtd3wt3u,iv:dI6cwtprtMmPoQqYVQWWgxwGv4hTvyBN5kUWbnt4hQk=,tag:D5vDDl1YiNz+vEuUlG1wMg==,type:str] +gitea-mailer-password: ENC[AES256_GCM,data:jezSqeXme84x/E1/djCtR10ubApeS3JfjZ9UYL0/da+i9pfKJafqd5ahPDMAJWFdoxxCh20c8Zlq/oGXkrzBLmku,iv:xZUrcUoKfvIxh9A1xMQzc1GCMNVqlKwcvr814wWdv3A=,tag:38qayGrw1AY/nAmRP0ibsg==,type:str] +gitea-runner: ENC[AES256_GCM,data:E0lECHn3PphY0TyrPjwEMQ1ZEkJMRlNZlfxZZz5En/bf2e+xGPFeqqWK3rvQ3bHdKTKMjzEIuFNaf97IOrWTJ7HpiYfPQoWD5pOcX88f/aVrrX8PpTVFcDS+N+XQCsEZBsiWW4Ts7r2ayir+wbpzYxOp5C9QuEAlox27y/TRmRSYUGGl1KdRP7dTvvjve8CfjIJ57UwnXjfC0baUKrtW7Hy8hT2q9ERm6MSQSKngdxsdwFrMzNhor4IRZdspgTQALeUyzIdf3j+IXgMDqpg9quI=,iv:N7EAgNd+RhPIqrpHTTmLPl4tMAB4b3Q2OrtABfhbGjc=,tag:Tz9HDUks9T6ATP1wmMGf1A==,type:str] +gitea-runner-token: ENC[AES256_GCM,data:R/Tp+hboo5wxbVXYrwzo1fqs7lxYbERf/VaoweP65AsDLLDjXRe/cD+uI4mqHT4=,iv:R2eF/YewIExI6e51V6Q4O2OVu1e3pAcJbVx8AzV65gs=,tag:iMaYkLJCvepG+cDCpZswtw==,type:str] +home-assistant-ldap: ENC[AES256_GCM,data:xzvFCatCeiGvwPTA0ZcZAIoC1Ru8H7Jt1x5XZsZhWhz7t2zDhqMfNNCFHy1a+21eE4s8x8kwflBYl18ZaxqzgA==,iv:fCrV2CNBW1IIVdl8pNjora6BxO1QRA9+KHNESHw8CzU=,tag:JX5jOlLRbmv0vPANIKZcBQ==,type:str] +home-assistant-secrets.yaml: ENC[AES256_GCM,data:m3UnOEzKqZX92+X3f4OWG7GskkXqj+uvvwgv8qt6mzyh8LWKrebk/7IXKQW5KtBCFY0wM59ijSgVloV5PeIChfVuBXl2rclNOp04ZtBQEwtIVqTNYIcmOidOyV9qoJrRzm2ssKYQj7RJ3znFvfmX48OQ9EAvXEhYXXnISWT0kNLlIk5FPKF6j3LbU4B0ZcDqzVoB3J4MnTaKdke8Znv302sssu9/jpCLd1av4Z4RU1zoJJvFl0EDWHz/olHtHvU6O46C5bTJ53/r2abC0jQ0vyWXh4FnL9IfXuLJKPNxoHaicNH4Mqf21xrw+6Q4E9VvPRnvsGCLsz1BOxK+7wzA,iv:/hH3xtmjYHNjfCxhmJzqnLII+guxTJgvBlLnxKA5Fu0=,tag:oGzO+GQQ6CIHx9pu+wnkiA==,type:str] +moltbot-gateway-token: ENC[AES256_GCM,data:gG7J+b3/kyR7GPp4dJQTJfQ80SdTYGRqUmQ+L26B+ZrtbFDbztjtMThluYBfRlceajKWs/RWIvcQ4m3IJrcIDA==,iv:EE/7ApwIq+C4mz/f9SxXjedCJHHhMIO4LktxgKrTr+s=,tag:zXFxIwRigYepZZlGptvgkQ==,type:str] +piped-db-password: ENC[AES256_GCM,data:qHAYiTXMX4Vfv7gCm7NDCSDvj10IadYGJ6ZhL5ga/4PzM6dt7oWqVRGcEyU=,iv:w+Jlg2c1Scsfxis4kWdzuN1d/aQxvK7qqdg8Q6WRUGY=,tag:GwN6QwNYRGatEhSZVhz9cA==,type:str] +pushover-api-token: ENC[AES256_GCM,data:JzGXv7TXhs27/hwrgmltKuT2527eovwKKztpzYkJ,iv:jZg39tTa6gHrXrIy5FXtQ7XTafQ/F9vuXZcTBv5lMgQ=,tag:XDyPJWMDbkvNuVZ1FB3ulA==,type:str] +pushover-user-key: ENC[AES256_GCM,data:wPbwe2j13e9ZQn4NM+vnXSVFVBI2D9WXyTZnQtwX,iv:0hS1tdMsB4zOTCkBeaajwAZhJXvffQ2cCJC1/uKRgz4=,tag:sCeBkokGGBNbSsxZQ4faaw==,type:str] +wrwks_vpn_key: ENC[AES256_GCM,data:U9atAAPgRBmIm6m3M/LXbO5T1b8ahY9G3AXYBDX2T/Tb0mg15AWoWcH4Ods6HNX/N+sETUZUzd/8XIc/NthI7A==,iv:xk3RsHSDR0li9Wq8RmZXnl5AgrNF4AoW8ZYjwFWIuZs=,tag:I94sQd6hqRqrrDs3EKxoyg==,type:str] +wg_cloonar_key: ENC[AES256_GCM,data:Nh9/BvQTkblpJ/BHC8Yc4y0/ef3+n/eSQeFcvEkJ2gq//Hdae0WOUpyHCPQ=,iv:vOW2HakffYCEB67laaB1mtEfJlyPSai0JKg1+l6Y9Jo=,tag:FsY2e1S/lv41x2KIiBJrRA==,type:str] +wg_epicenter_works_key: ENC[AES256_GCM,data:QCj+X2w+BWIIgGYchkS0o4q3AMT04z2hU3mO+rRu8jL9592YcP8cYkJ8L9c=,iv:5I1le+n4R6qRqEVOh5Ix6ncfoJyV5ObCZYrAmzjQnzo=,tag:uXaH+ijQnGlb67szRLj4Jw==,type:str] +wg_epicenter_works_psk: ENC[AES256_GCM,data:YfKTdDpAy9BlGJg5fECudIQR+4h6Y61Fe0tTmlaDlYQeD4BL/lvqz1qjtpM=,iv:KjMzzMvPwP6RMiDxYX0GHVBIXA7R1ajUkPhkkKwUn5M=,tag:NYBbliJMZuP/Rpz7aVSbwg==,type:str] +wg_ghetto_at_key: ENC[AES256_GCM,data:QUW6RlK16l2YFrCXJp7WROI0M5v8WFVkeSGKhBbia+MmJvrVDnmgTrTEeyM=,iv:rWtbStohy/jqD1Y655m20J52pDW3vLT9UMmYlXocf3A=,tag:d/7C9VaLPe4s8XzROwRTEg==,type:str] +matrix-shared-secret: ENC[AES256_GCM,data:yuraE/GI71waIlFj+DKaiILqkt/N8YgQ0L9KgNOGcXhfrN/lDK0+pV70JCn0KLgIEPKfbGPl4C3084s67w==,iv:EK9XthRzDgA/IBqDZHd4wetjGJP+jg72xFccVCOvyMw=,tag:nwIVCrykM7YIg4INaqakDQ==,type:str] +phpldapadmin: ENC[AES256_GCM,data:4AMaNV6RO2HT6TUuN9R+tLcrY3v+Oa1N0cUaepWDxEpDwA4N0ZDg/yQyQT7QA/Z5P1Adz2eGdSISgNQR8wXplYUg8bHx2SpCLeG3JrF4QGSZl0EwQnxQtIlUVxHVXft4arFwHCt7FhDsbyRY0YFQPMzaH6I2RVNrdSKothW1A5dYH7kTRCuP3MTvrtZC9yGp/ko+sepwdar2EGha8E36A2rh8soR9jKciLmV+cal1U0FvxyWzH4fRY8YxCH+BUNI3pUJQX/de1xa/MOL+nqBi9Q8al3PjzhjWE6mWG/v4fP33yJgrC7ZWi+bzOCqCR6I27plWQK1PhQ2ZZ+sCtNu7lXS4ix7muh4,iv:X2QaqD6uPz8Fh2GMi3tPeJI0MvrFAPI4H6dSWWGCohM=,tag:xT/eCsWSMHZSdjAw4AdGKw==,type:str] +palworld: ENC[AES256_GCM,data:lpcGXcKxI+7hlZm4r2VsiMO/1c0ctoqfuvzTkqk0c5xjRRTiO5bXe/DtV0O9IFxnMQRnznG/jQsNGyvMBt0aMlylZrdfq56S43Y1a1iCpN2ZmfL9A3vd7L2X14pjG+MMphOPGhE2e9KpGImkEGEjOz/o8zIMmo2OZzA1nSBqcPQLZkwCza1GbyhLRAKNwNRttYlXDL3zBLljRQeDF9wOh0WYXuo04WLDw1GuSnpdVBI/UvBsWAc5wnZLpjqxAMKruNdLKvEURV89kWVvJIiOmJT5pFERL+Xb70vcu0Bv6oygcll4qOUKnQ2Qz3wk6l5HFNOdRJKycsHrUQXrLKA1isZnjS2dFt+dmd4JNZyH0kraC2A9OohGOVoAR5Bsjq0ZIlVSxv1lR0GFRz9oP246KUrf4u00toTfT0l7Alz8zW5IuY5j+zzd8WobynFo23LHxXBg91cYOtTRkpio/tMykVR5xQgz63uNuZDLn1hPsAiEKYqFZaXL+E2w1D++QqeHgpM4EioyrWTrAgRZe4p+rAQLLkaR6lYG181TqV5/mi4U12Tk756ahlMWEzUbakW77lM6hFjOYnsJ96JInSahVEKL0k68CxcjEu+MDgJyl7sRvKuFA2UC4j1w7uPEXMfHtEkmyleoc5GXHMfnBA3rV3t+g/CgDE+3o8fVgWM+Q4niE5LRYPoX12IwLY7bJhXJguQ8Kcchccphe4ohXg==,iv:bd9u0B7UD3FrMvz/0/+O/t/Wk1eXKL+7a2J9RcQCa8I=,tag:w/KGmAxhqj0QDh+UkDSFOQ==,type:str] +ark: ENC[AES256_GCM,data:bEZaEqhSERRTv/+SMRYAPgnEo8JgJ84gZnLqsgxFI7RkivBVNMtPUy6lrA9rHPLhyBFMXpBZW6TB9olAHJLu7rUrC/4jeo2hNJuH3PmVQ7l666eM4JzCZ09XYjJnUs87OkAtwRzcVeMmDKd59d5hSn95jxMsk9DXp1jyeqVfBQuzgE8G2A5s5qT76xTH5GIojbJ3wvkJJjoJ7l8E4qaupf/mWs2YE3khtBPdsFSoiWDONRFC/UVUFVAlxOhYKNodwLsAx7bTO/PVDvim,iv:/j1wzEU4ZD8auJ0rggejE1gQWMgJHVDqZqSY9XBS43U=,tag:mnbnoOfCh1coi3D1sytCQg==,type:str] +firefox-sync: ENC[AES256_GCM,data:+qZ6hgRpn1SILtrESmHpENXWHOmWn98DycrTSg9EfhHzVUdC0+jllQFOCcsduv4IZQ4RTuglz+PkOseh7Nac60qkiZW6Sqveg+f+M39NdVaft18ltAKiXF19+SweHz1KL9fG8hsjsHGyAGfSW+gmn0O6kEUtth4Ck/VBExg04sdXAWOVxIDN/yVKASpCfFU=,iv:6i9hjTRd91tv9kyZ4RAY88KWGTRZ9kU7vF5OAqu+Ubw=,tag:3lDN4iX6lJleQiQ7C8/Qrw==,type:str] +knot-tsig-key: ENC[AES256_GCM,data:7wR41trxv5WYK+5nr38ZB/xkoCQOuxNBqLYCZYVuj2fDiwlEqHNZIe4B4Bw=,iv:Cptzoc78Il6jrdr6By1HR6kI7uEilzhmow2HZBk7dTw=,tag:SW2+F/k+oFErU2olpJvQig==,type:str] +mopidy-spotify: ENC[AES256_GCM,data:lyOOOvu2FxQ3MhH/g6Ms5oP41XwClF/heYAvUFa1R22bUB847q3zP20+RUR/0nMCpEUXst9/kZj4oFE5jE4ze3vIIyWmCV4hmiNDrYg9E2/oBgJWjylsp3ocX+XjVtCovPMoqJ0VE9ZCZ2KaqIhVi9DC8DN35USH,iv:nTGyBAfiDcd2AH2tzTMu5qXs51PR2h38/I7HpJaZNVk=,tag:I7SbLbyf37a3tuaGC1nUTg==,type:str] +lms-spotify: ENC[AES256_GCM,data:6qjXjIKq4sALiwN5vFRSMj7ETquvida7iCldFfMbaqPdSPi1QyGD47r6+Gq5vf7GJD0TSHOCcLMm7Kxq6xVkfcrMDxN63BZDkUeU/ZNbdcMn1ZpcW9+ZCkmb5KWR0ScezzbHPHDFnvZ7EnTnVqLpbJJHz2w4xb5I33xAjhDOUSARHTIIVSavwplOk4DkJVOeQPOR3P2cwhG8bpEH2ISRoqF8tkGncTXDX+mdg8fxxAi/TVzFA6zGzDpAxFZW2W22Zp/+M0OVnQ==,iv:YKwglsAJydgDIDkLETXaKS5So/g8pE3/+lFeMdsBiRc=,tag:Gsqxcv2IjqSOiPT4lFe+5A==,type:str] sops: age: - recipient: age14grjcxaq4h55yfnjxvnqhtswxhj9sfdcvyas4lwvpa8py27pjy2sv3g6v7 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzZGZiWHg4OHRENFZUR0N1 - L2UwdTc5RU1RRlZrZitxNG1aeSs3eEJweEVjCnp4NjdnTFlPVGE5Z09uQjJyL1da - MjN1UGdwdDM4ODNhdVVtMmhlTDNuNEUKLS0tIHhhTUpjbkVDSEU4d1plM0dCSy9J - OFU0TU5hZW1sdzdudmRkRzRKOVZrb3cKa27jKzE608GlCCT0RW9caAaV9TN5kes6 - xqcj6s2CPa6LeMC0yMfeN2bYDPGXtEGUStzG0hXwg4pvQliBMtht5Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0VldwWkptbUZwYytBTlV1 + UHhjRWI5YVR6MDFFSDZpN05mbHc3ejZNVXpZClNTVXFSWWw4YVFSSzdBenZYYlU2 + Q3BSSVJmeEdIYzZiR2VYL0h1dlJNYU0KLS0tIE5CQ2V5NlpxQ09LS2tQWm9ya3Vq + VGkra1F1N1gvLzQwNlJNbVRsUnYxS0UKXdEvFAtZ3Zfy07H5738ZiYnrMhYhf5zb + ljHthFghcYloaF3LgjTN7W0AdfVK0//4tPzwBxyThDRLJqKE95HMig== -----END AGE ENCRYPTED FILE----- - recipient: age1exny8unxynaw03yu8ppahu5z28uermghr8ag34e7kdqnaduq9stsyettzz enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2cUdxb0kvNkdDeWVMYmVJ - L2xlY29QaTd6ZFY4dCtsejhHN2s2anMya3d3CjdDN3FqajlzS3llWGhVK1A3eVdE - RjFuZmVBdFROTXhzZWduK0RVRWQyT1kKLS0tIGpzekV1OEJ3cW5Md1BhMitncnBs - OWUzY1p1dndFWjBTdXNOSEZyUjhMNzgKzewnYGETh0NSUad3p9s49JQyt0JHV58Y - eni6QDJ/ruQao2d2xBhwb4koGbzSUPQ2ie0syoOfMrxXYmu76bCb7Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArTXdXM095YWw1OXFuWXdP + OE52cUZBcnNLaGlqd2w3YVNiZG5NWm9DT1I4ClRyRzNsUThZelVHWVl2ZENhbENw + YmhPUzRWZ3JZQXgwYzFPQ2hGZzMrNlEKLS0tIGkzdzZzOGgrM0pJNmZrTmZ4ZjBT + MDh6UURpRGs0d00weEhUNytoUkNGYncKazrUNHQpzYIlAWK+ZRFiPVKS9/IunxUI + IsfSAsnH1xt2z6gBvbzjyZXu5f0dkvU8Vpd5+V9CAP9TthA3R+7Jkw== -----END AGE ENCRYPTED FILE----- - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKNVVrZzV5dDlWeFJINkVj - KzFDUUl6OGRCN1o3eEhGdGdjTHdGVWZld0hJCjI4dWtNZUltb0RqTGxoT3JONC95 - YXgraDJWcklyYUluTWZlU2pSY3NGTUkKLS0tIHFMYUJKN3h0Mm4rU1J2MmRCdjky - Vi93N3JHdi82WDRZRXUwbFQzRlJmUk0Kha2OzeHtJo5sIVqR5S0Wcpkp/nmo0s9k - WNXEtj8qPvtR4Ji/V7P6BdwGmtn+Yr4zbN+CamHkOjR3C62EQbXZSw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFTGhkMlh0aGIrandzUzJC + dVI3RTB4VmhUc1JSUFBxdmVrK3ZVTmZNdWpnCjhmWkFhV09qY0k2ejF5eDl0YXp0 + aU1zY0M5c3ZEZENBc1I4ajUrNmQrRkUKLS0tIGViMERSWG9IMVNVNUg0VE1YaVFG + YzROSlZyTEtCMmlpS0NuZk5xT01EaEkK++DwKWHm+k9iZlK+oPzZKfHg7r+nbbO6 + xt9F7Xp0KzYaVzBxPuqi8c7vYpiIZaKUYXgS5NpV4oLRgGuOBzib5Q== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEODNlS3EwcmxFN3hvTkVv - UTU4OFVIZENTbFc4dmlkSk5Gdk1qK1FySTJnCjJWR2FTYjZ1dDA3QzMyQyt6RW1C - UFlQZkFrS0QzSldvQjdRbkdLRDJNa3cKLS0tIDZTa3NXUks0M0FOdm0xSHBuSzVp - dVdIdXVDMkEvTktYWFFDak5WSzFSWlUKJ3y82O8e/z0Yag8vP6z/SSjExcVQTyvU - OPLHYcg5sByQ75AT5GBA4ZMF7M8EH1cP2QL7X8u4SeHDrVbMTx7d2w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwcTVMWFBUSDZxQlhtamNt + WjhXYUNDVHFKcHJlV0VzUHNOWHd4TVR6TEN3ClVrMVBGb3ZUT3ZxZGFxMnkvd2dR + SDRCZHFlVWs3M0ZLbDJsQTAwV2JFUU0KLS0tIEZHblZsNmtvWGZtcHhYQk92dTFh + aEN1YXdpQTFRSElKb05IbVpTaW9VVlUKklD9VliJTRZMk8u8r5suw7IUeVwVXLSq + zm4SIUE/C8RPb23ev7gh3IG9J95pRplEwCRwKzib5/Hqz/SqNhUVHw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-01-26T22:13:01Z" - mac: ENC[AES256_GCM,data:FuOSimEEfiyjY0oBzkaDcEwYhQZCyNiQYXPJxKFmybZ2eH+BKRoydtgMpCnOumCHHOH8W1N5HO7Ls7JSieAcx1MrFPXTkIaseUB+mQh69k42yi9FJ3rus2u1uT5KOLCDantE7HhlBCuEOSE9qoCxeda8Zx9210gXPt7QfgzkXds=,iv:39xgMDM0Y7nNF1tDN7N4zwdu0dvfL3Ss6yH5KS+Udk0=,tag:0u8crcNalWIyBc0WKxXzkQ==,type:str] + lastmodified: "2026-01-29T22:47:30Z" + mac: ENC[AES256_GCM,data:6iN/OVgm59aum4xUfJofyQP8xVNyEZB1TMT319xEIqwPdE7Rx2MCkfIWfV+bEYgo5iyIFkMzFjPeJO5he35l+0fOxGd5zQlpHEre0RxGnIJX+MEEZlY+qGSQj6omsAfJdr8chBbdHzFjpnr+cCvpa7UaPX/5PKAPnFoVLIKZdww=,iv:qTupVIZoIkDNz5Mi3HWMyArLU+qhwCUSQrp1je+YxuY=,tag:1LWru+2qdt2W3AS4wGHU6w==,type:str] unencrypted_suffix: _unencrypted version: 3.11.0 From d83f4ec9038d57c1dc916f2b67b2726d5c10aec1 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Fri, 30 Jan 2026 23:36:54 +0100 Subject: [PATCH 3/7] fix: ha coming home prompt --- hosts/fw/modules/home-assistant/coming-home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/fw/modules/home-assistant/coming-home.nix b/hosts/fw/modules/home-assistant/coming-home.nix index 30bc6d2..9b666e1 100644 --- a/hosts/fw/modules/home-assistant/coming-home.nix +++ b/hosts/fw/modules/home-assistant/coming-home.nix @@ -8,7 +8,7 @@ Authorization = "!secret moltbot_home_arrival"; Content-Type = "application/json"; }; - payload = "{\"message\":\"I just arrived home. Read home-reminders.md in my workspace. This file may contain reminders to tell me, or instructions/tasks to perform (like looking something up). Execute any instructions, send me the results along with any simple reminders, then clear the file content (keep the header). If the file is empty, just welcome me home briefly.\",\"name\":\"HomeArrival\",\"deliver\":true,\"channel\":\"whatsapp\",\"to\":\"+436607055308\"}"; + payload = ''{"message":"Home arrival. Read memory/arrival-reminders.json silently. For each item: if it's a task (fetch weather, check calendar, look something up, etc.), execute it. If it's a simple reminder, include it. Combine everything into ONE message with just the results - no preamble, no explanations, no mentioning files or process. Then clear the file. If empty: reply NO_REPLY","name":"HomeArrival","deliver":true,"channel":"whatsapp","to":"+436607055308"}''; }; }; "automation home_arrival" = { From b11d9b2fb9a2c99b3484bea8e0493a07b677e433 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sat, 31 Jan 2026 15:04:23 +0100 Subject: [PATCH 4/7] feat: ha add morning active automation --- hosts/fw/modules/home-assistant/default.nix | 1 + .../modules/home-assistant/morning-active.nix | 76 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 hosts/fw/modules/home-assistant/morning-active.nix diff --git a/hosts/fw/modules/home-assistant/default.nix b/hosts/fw/modules/home-assistant/default.nix index ef3393f..4f70b8f 100644 --- a/hosts/fw/modules/home-assistant/default.nix +++ b/hosts/fw/modules/home-assistant/default.nix @@ -103,6 +103,7 @@ in ./snapcast.nix ./coming-home.nix + ./morning-active.nix ]; networking = { diff --git a/hosts/fw/modules/home-assistant/morning-active.nix b/hosts/fw/modules/home-assistant/morning-active.nix new file mode 100644 index 0000000..9e7f846 --- /dev/null +++ b/hosts/fw/modules/home-assistant/morning-active.nix @@ -0,0 +1,76 @@ +{ + services.home-assistant.config = { + # Track if morning hook already triggered today + input_boolean = { + morning_active_triggered = { + name = "Morning Active Triggered"; + icon = "mdi:weather-sunny"; + }; + }; + + # REST command to call Moltbot + rest_command = { + moltbot_morning_active = { + url = "https://moltbot.cloonar.com/hooks/agent"; + method = "POST"; + headers = { + Authorization = "!secret moltbot_home_arrival"; # reuse same token + Content-Type = "application/json"; + }; + payload = ''{"message":"Morning briefing. Give a brief, friendly summary: 1) Today's weather for Vienna 2) Calendar events for today (check CalDAV) 3) Any pending reminders. Keep it concise, no fluff. Just the info.","name":"MorningBriefing","deliver":true,"channel":"whatsapp","to":"+436607055308"}''; + }; + }; + + # Main automation: detect morning activity + "automation morning_active" = { + alias = "morning_active"; + trigger = [ + { + platform = "state"; + entity_id = "light.toilet_lights"; + to = "on"; + } + # Future: add kitchen motion sensor here + # { + # platform = "state"; + # entity_id = "binary_sensor.kitchen_motion"; + # to = "on"; + # } + ]; + condition = [ + { + condition = "time"; + after = "05:00:00"; + before = "12:00:00"; + } + { + condition = "state"; + entity_id = "input_boolean.morning_active_triggered"; + state = "off"; + } + ]; + action = [ + { + service = "input_boolean.turn_on"; + target.entity_id = "input_boolean.morning_active_triggered"; + } + { + service = "rest_command.moltbot_morning_active"; + } + ]; + }; + + # Reset automation: reset triggered state at 3:00 AM + "automation morning_active_reset" = { + alias = "morning_active_reset"; + trigger = { + platform = "time"; + at = "03:00:00"; + }; + action = { + service = "input_boolean.turn_off"; + target.entity_id = "input_boolean.morning_active_triggered"; + }; + }; + }; +} From bb8e720ddf20731781b6bf44c76c0044d59e2312 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sat, 31 Jan 2026 15:04:35 +0100 Subject: [PATCH 5/7] feat: fw add forgejo runner --- hosts/fw/configuration.nix | 3 +- hosts/fw/modules/forgejo-runner.nix | 87 +++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 hosts/fw/modules/forgejo-runner.nix diff --git a/hosts/fw/configuration.nix b/hosts/fw/configuration.nix index 38a3669..f41b36c 100644 --- a/hosts/fw/configuration.nix +++ b/hosts/fw/configuration.nix @@ -33,6 +33,7 @@ # microvm ./modules/microvm.nix ./modules/gitea-vm.nix + ./modules/forgejo-runner.nix # ./modules/vscode-server.nix # Add VS Code Server microvm ./modules/ai-mailer.nix @@ -79,7 +80,7 @@ networkPrefix = "10.42"; # Systemd services to monitor - services.victoriametrics.monitoredServices = [ "ai-mailer" "container@git" "microvm@git-runner-" ]; + services.victoriametrics.monitoredServices = [ "ai-mailer" "container@git" "microvm@git-runner-" "microvm@fj-runner-" ]; nixpkgs.overlays = [ (import ./utils/overlays/packages.nix) diff --git a/hosts/fw/modules/forgejo-runner.nix b/hosts/fw/modules/forgejo-runner.nix new file mode 100644 index 0000000..06befd1 --- /dev/null +++ b/hosts/fw/modules/forgejo-runner.nix @@ -0,0 +1,87 @@ +{ config, lib, pkgs, ... }: let + # Short names to fit Linux interface name limit (15 chars for vm-fj-runner-1) + runners = ["fj-runner-1" "fj-runner-2"]; + # Offset by 5 to avoid conflicts with Gitea runners (01-02) + runnerOffset = 5; +in { + microvm.vms = lib.mapAttrs (runner: idx: { + config = { + microvm = { + mem = 8096; + shares = [ + { + source = "/nix/store"; + mountPoint = "/nix/.ro-store"; + tag = "ro-store"; + proto = "virtiofs"; + } + { + source = "/run/secrets"; + mountPoint = "/run/secrets"; + tag = "ro-token"; + proto = "virtiofs"; + } + ]; + volumes = [ + { + image = "rootfs.img"; + mountPoint = "/"; + size = 51200; + } + ]; + interfaces = [ + { + type = "tap"; + id = "vm-${runner}"; + mac = "02:00:00:00:00:0${toString (idx + runnerOffset)}"; + } + ]; + }; + + systemd.network.networks."10-lan" = { + matchConfig.PermanentMACAddress = "02:00:00:00:00:0${toString (idx + runnerOffset)}"; + address = [ "${config.networkPrefix}.97.5${toString (idx + runnerOffset)}/24" ]; + gateway = [ "${config.networkPrefix}.97.1" ]; + dns = [ "${config.networkPrefix}.97.1" ]; + }; + + networking.hostName = runner; + + virtualisation.podman.enable = true; + + services.gitea-actions-runner.instances.${runner} = { + enable = true; + url = "https://forgejo.cloonar.com"; + name = runner; + tokenFile = "/run/secrets/forgejo-runner-token"; + labels = [ + "ubuntu-latest:docker://git.cloonar.com/infrastructure/gitea-runner:1.0.0" + ]; + settings = { + container = { + network = "podman"; + }; + cache = { + enabled = true; + host = "${config.networkPrefix}.97.5${toString (idx + runnerOffset)}"; + port = 8088; + }; + }; + }; + + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN/2SAFm50kraB1fepAizox/QRXxB7WbqVbH+5OPalDT47VIJGNKOKhixQoqhABHxEoLxdf/C83wxlCVlPV9poLfDgVkA3Lyt5r3tSFQ6QjjOJAgchWamMsxxyGBedhKvhiEzcr/Lxytnoz3kjDG8fqQJwEpdqMmJoMUfyL2Rqp16u+FQ7d5aJtwO8EUqovhMaNO7rggjPpV/uMOg+tBxxmscliN7DLuP4EMTA/FwXVzcFNbOx3K9BdpMRAaSJt4SWcJO2cS2KHA5n/H+PQI7nz5KN3Yr/upJN5fROhi/SHvK39QOx12Pv7FCuWlc+oR68vLaoCKYhnkl3DnCfc7A7" + ]; + + networking.firewall = { + enable = true; + allowedTCPPorts = [ 8088 ]; + }; + + system.stateVersion = "22.05"; + }; + }) (lib.listToAttrs (lib.lists.imap1 (i: v: { name=v; value=i; }) runners)); + + sops.secrets.forgejo-runner-token = {}; +} From 766943bbb1c0a9de984686ae3b43bdfc148eb1af Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sat, 31 Jan 2026 15:04:47 +0100 Subject: [PATCH 6/7] fix: secrets for forgejo runner --- hosts/fw/secrets.yaml | 103 +++++++++++++++++++++--------------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/hosts/fw/secrets.yaml b/hosts/fw/secrets.yaml index f45f13f..d4c4599 100644 --- a/hosts/fw/secrets.yaml +++ b/hosts/fw/secrets.yaml @@ -1,71 +1,72 @@ -ai-mailer-imap-password: ENC[AES256_GCM,data:h+7cYnh5KlxHsxuNPqeymzaP8w==,iv:arefLWSG15MWStl3OASrGJf5HS6vIBBOpMHbfesnou0=,tag:7n49QtZJYT4fnvep0fnspQ==,type:str] -ai-mailer-openrouter-key: ENC[AES256_GCM,data:RFf+are5v/3I/r5k6UeCYGZpjVjtbPZoZ+UoiJZIOobiP+TP7K8sooqaO9i88EyWafrZtwB+2gOkNxeSms2er7z+PsWmmnbSnw==,iv:82Z6IpMVj1t3kYKwF3K88WMAIQe4R+K6DefGgz3gmbI=,tag:PyqDejCBhXFZRkdfZyz89w==,type:str] -borg-passphrase: ENC[AES256_GCM,data:hpVWvXBM1T8dGXCjHL1+29Pm7jinmdc0tkZva5jI55KLCNbOug7exqcut5q6UziZAXr5WF2WJyelVC+h8CoNYxnj9wg=,iv:aCulcqhHqOP9OHZv/K3Gp0JgM8m/GWBxSlHEHYu7qC8=,tag:0pAb3kKJmGk9UvJ8gAZM3w==,type:str] -borg-ssh-key: ENC[AES256_GCM,data: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,iv:DywkJKhme43tO9mXYXGljvtiI68vqr7+Bja42MNJybo=,tag:M+a5FV1Bu85+diV+WEdAdg==,type:str] -ddclient: ENC[AES256_GCM,data:QgmeucM/Ypm6U7t8fT0htBB9xPiFFltyQi4g2I3W5j8=,iv:mI+abEjhJbwC9qMBkUXn1I2AjB8T73sfDw9nJTjkQGs=,tag:v/WT0DsXd0qXOR65lkSvaA==,type:str] -filebot-license: ENC[AES256_GCM,data:Emr9kESkXbs2vlyOo8MkkC28xylVm2xH48P53e//3v2CMEj83NuockfBCfwbn+tgNzm9zJW4gkiWsDzELQRcntEWZEKfcNYynWeBNFrcGuaB3farcIYk3EHcvf9ibVb5b8e52tRW0deJ/Jlk+TWtRbtswaATGgldMllt90MljGtIFlLcSbWtGwA01D5AjXR19nVqKmK0TABKhWRw0O7c75Lmy4kne0f+V1+g+5pfYqcuF+skH8UNv2JCH8Qx9peVN4Ez5tv45pREkfNLkLeJX+5W4lp1kO/ewJBDKUGvDZvDeXzWpCmnfD/X2c43G9bweB1Xs/L4H1T35NvFFmETGag5m6J3omA3wf0K0O65bcfLojKoZ4HuBP+0u3QXwtWKBUbz157OWRy14lZuMzmKDe2bw81H1mQcvwU7u0jNPxPTzsbxrdSNpxmwzXRYEk8FX5yIXdSgVogW/7hvMknUcNuN0x8gTpz4GCyEJBl105kmn3t5EDS08MlhsXs1Qzz9We+tEeXU034aVag3eFSpskSWhWuJVWWiEn2R1TC0YETGPwP8Zs4Y12Hhdd3Es0JaLd5C4TN2Ny1kQv/6gO1rREw30N0h+tDtnmqJApXaWjbLzw4PWFvPEBjWCYdejlT+h6pauKy/JKUWQkgM24ToTaWrprnJCSufkftsX6hniLGylbn9JzRNNVGco1/2fO4j3Uo1i0PR9ifkC4Xzpue5QYwGYY4tRCSRixbFCo2qbjnZiOzYSyjRrBYb4DQONi3yVECJOVEpBYAsiVGXXV+ExclTznBzS5yqKuB8JrtO5Lk48vKK6vebLwEFNmy7uvvGfD1eU9E9M2fuelhsZMkOV1KEFJGCs4lhaRUTCvWoyQJ46A4c8113HtlYEqw8XmE=,iv:TR2Q7wlBIEe9LHqSj+5MZZV57EP96zTmVJ9SP3TZWpM=,tag:z5QZCUynS70aZs2nvjdLvw==,type:str] -forgejo-mailer-password: ENC[AES256_GCM,data:aOIFbPmOEFFBInQ3riR+Eknzwm/eiKIF92i7HtX6MIngNXGfcpngIL3op0Hpoa0HfRhfpk95o3p6XMRIdtd3wt3u,iv:dI6cwtprtMmPoQqYVQWWgxwGv4hTvyBN5kUWbnt4hQk=,tag:D5vDDl1YiNz+vEuUlG1wMg==,type:str] -gitea-mailer-password: ENC[AES256_GCM,data:jezSqeXme84x/E1/djCtR10ubApeS3JfjZ9UYL0/da+i9pfKJafqd5ahPDMAJWFdoxxCh20c8Zlq/oGXkrzBLmku,iv:xZUrcUoKfvIxh9A1xMQzc1GCMNVqlKwcvr814wWdv3A=,tag:38qayGrw1AY/nAmRP0ibsg==,type:str] -gitea-runner: ENC[AES256_GCM,data:E0lECHn3PphY0TyrPjwEMQ1ZEkJMRlNZlfxZZz5En/bf2e+xGPFeqqWK3rvQ3bHdKTKMjzEIuFNaf97IOrWTJ7HpiYfPQoWD5pOcX88f/aVrrX8PpTVFcDS+N+XQCsEZBsiWW4Ts7r2ayir+wbpzYxOp5C9QuEAlox27y/TRmRSYUGGl1KdRP7dTvvjve8CfjIJ57UwnXjfC0baUKrtW7Hy8hT2q9ERm6MSQSKngdxsdwFrMzNhor4IRZdspgTQALeUyzIdf3j+IXgMDqpg9quI=,iv:N7EAgNd+RhPIqrpHTTmLPl4tMAB4b3Q2OrtABfhbGjc=,tag:Tz9HDUks9T6ATP1wmMGf1A==,type:str] -gitea-runner-token: ENC[AES256_GCM,data:R/Tp+hboo5wxbVXYrwzo1fqs7lxYbERf/VaoweP65AsDLLDjXRe/cD+uI4mqHT4=,iv:R2eF/YewIExI6e51V6Q4O2OVu1e3pAcJbVx8AzV65gs=,tag:iMaYkLJCvepG+cDCpZswtw==,type:str] -home-assistant-ldap: ENC[AES256_GCM,data:xzvFCatCeiGvwPTA0ZcZAIoC1Ru8H7Jt1x5XZsZhWhz7t2zDhqMfNNCFHy1a+21eE4s8x8kwflBYl18ZaxqzgA==,iv:fCrV2CNBW1IIVdl8pNjora6BxO1QRA9+KHNESHw8CzU=,tag:JX5jOlLRbmv0vPANIKZcBQ==,type:str] -home-assistant-secrets.yaml: ENC[AES256_GCM,data:m3UnOEzKqZX92+X3f4OWG7GskkXqj+uvvwgv8qt6mzyh8LWKrebk/7IXKQW5KtBCFY0wM59ijSgVloV5PeIChfVuBXl2rclNOp04ZtBQEwtIVqTNYIcmOidOyV9qoJrRzm2ssKYQj7RJ3znFvfmX48OQ9EAvXEhYXXnISWT0kNLlIk5FPKF6j3LbU4B0ZcDqzVoB3J4MnTaKdke8Znv302sssu9/jpCLd1av4Z4RU1zoJJvFl0EDWHz/olHtHvU6O46C5bTJ53/r2abC0jQ0vyWXh4FnL9IfXuLJKPNxoHaicNH4Mqf21xrw+6Q4E9VvPRnvsGCLsz1BOxK+7wzA,iv:/hH3xtmjYHNjfCxhmJzqnLII+guxTJgvBlLnxKA5Fu0=,tag:oGzO+GQQ6CIHx9pu+wnkiA==,type:str] -moltbot-gateway-token: ENC[AES256_GCM,data:gG7J+b3/kyR7GPp4dJQTJfQ80SdTYGRqUmQ+L26B+ZrtbFDbztjtMThluYBfRlceajKWs/RWIvcQ4m3IJrcIDA==,iv:EE/7ApwIq+C4mz/f9SxXjedCJHHhMIO4LktxgKrTr+s=,tag:zXFxIwRigYepZZlGptvgkQ==,type:str] -piped-db-password: ENC[AES256_GCM,data:qHAYiTXMX4Vfv7gCm7NDCSDvj10IadYGJ6ZhL5ga/4PzM6dt7oWqVRGcEyU=,iv:w+Jlg2c1Scsfxis4kWdzuN1d/aQxvK7qqdg8Q6WRUGY=,tag:GwN6QwNYRGatEhSZVhz9cA==,type:str] -pushover-api-token: ENC[AES256_GCM,data:JzGXv7TXhs27/hwrgmltKuT2527eovwKKztpzYkJ,iv:jZg39tTa6gHrXrIy5FXtQ7XTafQ/F9vuXZcTBv5lMgQ=,tag:XDyPJWMDbkvNuVZ1FB3ulA==,type:str] -pushover-user-key: ENC[AES256_GCM,data:wPbwe2j13e9ZQn4NM+vnXSVFVBI2D9WXyTZnQtwX,iv:0hS1tdMsB4zOTCkBeaajwAZhJXvffQ2cCJC1/uKRgz4=,tag:sCeBkokGGBNbSsxZQ4faaw==,type:str] -wrwks_vpn_key: ENC[AES256_GCM,data:U9atAAPgRBmIm6m3M/LXbO5T1b8ahY9G3AXYBDX2T/Tb0mg15AWoWcH4Ods6HNX/N+sETUZUzd/8XIc/NthI7A==,iv:xk3RsHSDR0li9Wq8RmZXnl5AgrNF4AoW8ZYjwFWIuZs=,tag:I94sQd6hqRqrrDs3EKxoyg==,type:str] -wg_cloonar_key: ENC[AES256_GCM,data:Nh9/BvQTkblpJ/BHC8Yc4y0/ef3+n/eSQeFcvEkJ2gq//Hdae0WOUpyHCPQ=,iv:vOW2HakffYCEB67laaB1mtEfJlyPSai0JKg1+l6Y9Jo=,tag:FsY2e1S/lv41x2KIiBJrRA==,type:str] -wg_epicenter_works_key: ENC[AES256_GCM,data:QCj+X2w+BWIIgGYchkS0o4q3AMT04z2hU3mO+rRu8jL9592YcP8cYkJ8L9c=,iv:5I1le+n4R6qRqEVOh5Ix6ncfoJyV5ObCZYrAmzjQnzo=,tag:uXaH+ijQnGlb67szRLj4Jw==,type:str] -wg_epicenter_works_psk: ENC[AES256_GCM,data:YfKTdDpAy9BlGJg5fECudIQR+4h6Y61Fe0tTmlaDlYQeD4BL/lvqz1qjtpM=,iv:KjMzzMvPwP6RMiDxYX0GHVBIXA7R1ajUkPhkkKwUn5M=,tag:NYBbliJMZuP/Rpz7aVSbwg==,type:str] -wg_ghetto_at_key: ENC[AES256_GCM,data:QUW6RlK16l2YFrCXJp7WROI0M5v8WFVkeSGKhBbia+MmJvrVDnmgTrTEeyM=,iv:rWtbStohy/jqD1Y655m20J52pDW3vLT9UMmYlXocf3A=,tag:d/7C9VaLPe4s8XzROwRTEg==,type:str] -matrix-shared-secret: ENC[AES256_GCM,data:yuraE/GI71waIlFj+DKaiILqkt/N8YgQ0L9KgNOGcXhfrN/lDK0+pV70JCn0KLgIEPKfbGPl4C3084s67w==,iv:EK9XthRzDgA/IBqDZHd4wetjGJP+jg72xFccVCOvyMw=,tag:nwIVCrykM7YIg4INaqakDQ==,type:str] -phpldapadmin: ENC[AES256_GCM,data:4AMaNV6RO2HT6TUuN9R+tLcrY3v+Oa1N0cUaepWDxEpDwA4N0ZDg/yQyQT7QA/Z5P1Adz2eGdSISgNQR8wXplYUg8bHx2SpCLeG3JrF4QGSZl0EwQnxQtIlUVxHVXft4arFwHCt7FhDsbyRY0YFQPMzaH6I2RVNrdSKothW1A5dYH7kTRCuP3MTvrtZC9yGp/ko+sepwdar2EGha8E36A2rh8soR9jKciLmV+cal1U0FvxyWzH4fRY8YxCH+BUNI3pUJQX/de1xa/MOL+nqBi9Q8al3PjzhjWE6mWG/v4fP33yJgrC7ZWi+bzOCqCR6I27plWQK1PhQ2ZZ+sCtNu7lXS4ix7muh4,iv:X2QaqD6uPz8Fh2GMi3tPeJI0MvrFAPI4H6dSWWGCohM=,tag:xT/eCsWSMHZSdjAw4AdGKw==,type:str] -palworld: ENC[AES256_GCM,data:lpcGXcKxI+7hlZm4r2VsiMO/1c0ctoqfuvzTkqk0c5xjRRTiO5bXe/DtV0O9IFxnMQRnznG/jQsNGyvMBt0aMlylZrdfq56S43Y1a1iCpN2ZmfL9A3vd7L2X14pjG+MMphOPGhE2e9KpGImkEGEjOz/o8zIMmo2OZzA1nSBqcPQLZkwCza1GbyhLRAKNwNRttYlXDL3zBLljRQeDF9wOh0WYXuo04WLDw1GuSnpdVBI/UvBsWAc5wnZLpjqxAMKruNdLKvEURV89kWVvJIiOmJT5pFERL+Xb70vcu0Bv6oygcll4qOUKnQ2Qz3wk6l5HFNOdRJKycsHrUQXrLKA1isZnjS2dFt+dmd4JNZyH0kraC2A9OohGOVoAR5Bsjq0ZIlVSxv1lR0GFRz9oP246KUrf4u00toTfT0l7Alz8zW5IuY5j+zzd8WobynFo23LHxXBg91cYOtTRkpio/tMykVR5xQgz63uNuZDLn1hPsAiEKYqFZaXL+E2w1D++QqeHgpM4EioyrWTrAgRZe4p+rAQLLkaR6lYG181TqV5/mi4U12Tk756ahlMWEzUbakW77lM6hFjOYnsJ96JInSahVEKL0k68CxcjEu+MDgJyl7sRvKuFA2UC4j1w7uPEXMfHtEkmyleoc5GXHMfnBA3rV3t+g/CgDE+3o8fVgWM+Q4niE5LRYPoX12IwLY7bJhXJguQ8Kcchccphe4ohXg==,iv:bd9u0B7UD3FrMvz/0/+O/t/Wk1eXKL+7a2J9RcQCa8I=,tag:w/KGmAxhqj0QDh+UkDSFOQ==,type:str] -ark: ENC[AES256_GCM,data:bEZaEqhSERRTv/+SMRYAPgnEo8JgJ84gZnLqsgxFI7RkivBVNMtPUy6lrA9rHPLhyBFMXpBZW6TB9olAHJLu7rUrC/4jeo2hNJuH3PmVQ7l666eM4JzCZ09XYjJnUs87OkAtwRzcVeMmDKd59d5hSn95jxMsk9DXp1jyeqVfBQuzgE8G2A5s5qT76xTH5GIojbJ3wvkJJjoJ7l8E4qaupf/mWs2YE3khtBPdsFSoiWDONRFC/UVUFVAlxOhYKNodwLsAx7bTO/PVDvim,iv:/j1wzEU4ZD8auJ0rggejE1gQWMgJHVDqZqSY9XBS43U=,tag:mnbnoOfCh1coi3D1sytCQg==,type:str] -firefox-sync: ENC[AES256_GCM,data:+qZ6hgRpn1SILtrESmHpENXWHOmWn98DycrTSg9EfhHzVUdC0+jllQFOCcsduv4IZQ4RTuglz+PkOseh7Nac60qkiZW6Sqveg+f+M39NdVaft18ltAKiXF19+SweHz1KL9fG8hsjsHGyAGfSW+gmn0O6kEUtth4Ck/VBExg04sdXAWOVxIDN/yVKASpCfFU=,iv:6i9hjTRd91tv9kyZ4RAY88KWGTRZ9kU7vF5OAqu+Ubw=,tag:3lDN4iX6lJleQiQ7C8/Qrw==,type:str] -knot-tsig-key: ENC[AES256_GCM,data:7wR41trxv5WYK+5nr38ZB/xkoCQOuxNBqLYCZYVuj2fDiwlEqHNZIe4B4Bw=,iv:Cptzoc78Il6jrdr6By1HR6kI7uEilzhmow2HZBk7dTw=,tag:SW2+F/k+oFErU2olpJvQig==,type:str] -mopidy-spotify: ENC[AES256_GCM,data:lyOOOvu2FxQ3MhH/g6Ms5oP41XwClF/heYAvUFa1R22bUB847q3zP20+RUR/0nMCpEUXst9/kZj4oFE5jE4ze3vIIyWmCV4hmiNDrYg9E2/oBgJWjylsp3ocX+XjVtCovPMoqJ0VE9ZCZ2KaqIhVi9DC8DN35USH,iv:nTGyBAfiDcd2AH2tzTMu5qXs51PR2h38/I7HpJaZNVk=,tag:I7SbLbyf37a3tuaGC1nUTg==,type:str] -lms-spotify: ENC[AES256_GCM,data:6qjXjIKq4sALiwN5vFRSMj7ETquvida7iCldFfMbaqPdSPi1QyGD47r6+Gq5vf7GJD0TSHOCcLMm7Kxq6xVkfcrMDxN63BZDkUeU/ZNbdcMn1ZpcW9+ZCkmb5KWR0ScezzbHPHDFnvZ7EnTnVqLpbJJHz2w4xb5I33xAjhDOUSARHTIIVSavwplOk4DkJVOeQPOR3P2cwhG8bpEH2ISRoqF8tkGncTXDX+mdg8fxxAi/TVzFA6zGzDpAxFZW2W22Zp/+M0OVnQ==,iv:YKwglsAJydgDIDkLETXaKS5So/g8pE3/+lFeMdsBiRc=,tag:Gsqxcv2IjqSOiPT4lFe+5A==,type:str] +ai-mailer-imap-password: ENC[AES256_GCM,data:gLSr5s/9YGd8DOD23k/MGZU58Q==,iv:ELdtCuD7Geofd9ElapMVX4UZ0gZgTtVvJpaDmY2NUq0=,tag:g4/ENc7/0PyUvY4VSg+mqQ==,type:str] +ai-mailer-openrouter-key: ENC[AES256_GCM,data:2y9JyDBYzo9Tcx+t8rrr/TleS9Lq2D6jOVSCnm99DBMauJ1QlfLIJ4zXpX0gebxGb8BPA0jBYnJdNQxHfjvYJVmnG7+qIw7zCA==,iv:ytkagoqtrT9kGqUFo6xrXNJp4LKSO6UNGjWZemCg2A4=,tag:0OoSoYchvMUYNUi1MclWOQ==,type:str] +borg-passphrase: ENC[AES256_GCM,data:ajkDfsz1sLcxcM5VEsU8z8opB4qLXZr6BdOc5IxX4OKb/8cckd341+mXk431IWuN6bLpd1XmINimLRLin9bnb6y29L0=,iv:w8VsAJrbkBLIjR8o5L3L1l6xgsLEa1cdyEAVqfCE8y0=,tag:PvhBSrp4n9oyqskekEDBQA==,type:str] +borg-ssh-key: ENC[AES256_GCM,data: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,iv:XOQg3GqMhWAWJdLgcw6wLi/Jw0KZp4YpuoY5MhzizoU=,tag:2AHG2lyRClCa96qBZM9MLA==,type:str] +ddclient: ENC[AES256_GCM,data:bB0gOu82+124M8d+AcTrhnaexZn3IRx18OM7JkdXpdo=,iv:o7pI+mMlD11TVK7dpf1pIKLWZjFoJE0BUW+FWB1CNkk=,tag:2eiyrhFAfCRwh8kx+ox6VA==,type:str] +filebot-license: ENC[AES256_GCM,data:twfY90M2Qq4T0B2yXwFw1hW94JIjCsgXDtXw+sjJxxCwn3t3A7cil64jJ4cjSFHf7gnT6/ijgGVBh70+DzurSI5F5XhIg9vpl+NtNvbvNRwVfO+tvBgFsDpmhZ4iAY+9b4uJFSF3BRHF6cNfK7imRkQCrNLBxxrRKdL3TWqWrSyz8k8OCs9oVHXUTLv1qkdcOn8R0a3c9CM+u1/FA3d7wFVAhdgj8T7mubbBAtv4CJFrU9Qm0KZSx1PpRFrwjHTIzLL1on40SExhQLrKMzQs/Abv2+p6QeSAMWRFc7RKuWOyQUF+Cti+a7q63DZn/IlOUeDvdnjzqtv6xTdh2jcBb7zujXgkkBOvo9PosF4hYL5LMpl5IKKz67lVplo9CHiDOWDdjgfel331ItVJrPnwQFpv0EanzjyWC98/WVjOrLqAK+zXsayDrVpYOGGAiCmBe5ucJSy7xQV/z1qMQxVDqw+zt6e2HLz4zfMBWLTzxtOjX/eLSk/omcrpPx+wDWjXBjFJtcLHvTtdq3nU8i/a7XFCKsywu9UkyShqaYj0zS3+pg4GkolcpohH9c/fQTX1HFOdRXFgMoRd5pgvhHE3aAGXr83d+Euvdo/NuKnQWbU6XYWeOwJLRevayoACd8luIAB/gm+1lTJux0Vjxj6VEbDxJEXIqL7C9tDF2ikfYcrMytCrA/ZcBRJujIBLoOpCTiFhbHjT6F03T6Np49qOxYRIHSA/GaZzGHhBpb7srZVsSi5qhTfOl+EiiShsgmZjhse0lXoyNWBllo5Dy3E9vB26d2QL0lEI30kqrO4XdgaLtZuCC4lWP/RxHXbYSah1xm5K3T8z454mGBRHJqMHrCMEhuk1NHdX07xLbVeGM8qnfX9y519hzQEPSf6Cmz0=,iv:wWL5EcM25VSjsAB79FO5lv+8/q5JBYd34dhIyyjJiuY=,tag:MyaQAWslwW3caXE/XiRdNw==,type:str] +forgejo-mailer-password: ENC[AES256_GCM,data:anUrMCIKbWCqNSN5HJKjMaqhlXVT+QsKfi1YdW4sDKACzL9LpMbdT4cThr779QDSvGFhbRuTysEs0jEQjDUdam00,iv:pBlGfyuPbKzp+QXHlR3eZpvy6Uhcj5rM3T1rx47P+us=,tag:lCcNRj7xo90kx0dknRU4Vw==,type:str] +forgejo-runner-token: ENC[AES256_GCM,data:HPn7kdxG570G0R74oT8IhGb+ZgIOgiqzio+GAPBXuO1Enq5ygm9xsFPeY+m7kBM=,iv:Sc9oRZctOAe9JEAy+JotKFFErMA3J0lc+0S6N1W+MGo=,tag:PY8G6SasJgpZUP25CP1r1g==,type:str] +gitea-mailer-password: ENC[AES256_GCM,data:ahsBBVjmUse9VrZOGQ++3C4WVOkFHJdTPYg3b3PGowdHheZkoSe2uEeKmnflDPHGD+lMtFoLAES18pIv8G2/tDAr,iv:QADR4/YZ4ikJskcHwfqiGvnCKB7WG4VTDtJkVuNaho0=,tag:E8WSmvw6IwLa6CxaVu9GhA==,type:str] +gitea-runner: ENC[AES256_GCM,data:eoGF7AlQqGWUQT1mtbgGFhloDd8WJp9qcc6XNohWz4oLS3Y3hdx2hcBL6VnF/vgtXZOHLZ9Bib3JFEzViYDf1p1gouvcfsK/4hKNfsoe5rswKvPRb3m4jDJnuOUf8JCFoh5XYBjCH6X9EG7WHtWTzYprRJ9EzMLwIHUyGULT2BmfLNHkEBDkfPffp5Rh2Kc/d2VpGM/qBDkDb6eDskiXC0UeOHfPyIyDsORD9bWx+1YYiUu1S7fpLD5nlN0JW3eaw683yvczNsgSoR1DWl5/6/I=,iv:UtRDVC1TATS2I0wWXHfOrfgFTJpML9TS9AN2sXGqtPA=,tag:XhDdZl66RRvxGNWYK8iQTg==,type:str] +gitea-runner-token: ENC[AES256_GCM,data:7z3aE/HNuZ0H8wsc/cy5ZiX0cBjtEUYPU7vabkh9AXgOBd0Gfv+bCyrCzvN8MyI=,iv:VYfJw/g2R5Unok+e9/wJjHS4gYNmbF+yxoRzyHsm8iU=,tag:mLwUu1GSWcq7vzc9PEJKWQ==,type:str] +home-assistant-ldap: ENC[AES256_GCM,data:P+yqFcbfqQvgzNj3wu488HgTUFd7bE35cQCpe2nWUQ1SqsXVT4+Q8i+WlnpWaxLAP0QlWQqKBzqUJiU3/k9PWA==,iv:VjlAXLAs134gopU4oaKaPoHfTKoEK5SUlD+IuMw+3hQ=,tag:G0RFhr4AOXbhCSJPJA35Kg==,type:str] +home-assistant-secrets.yaml: ENC[AES256_GCM,data:naM/fFaLtlRWEkVaCkfUa1RvdYK/pJl3mREGSI3QA+3vqOGRj46yTDdTvBhcdi6hKRatJr9HJMj229gyJSneUUFIb1cz+rPyrXnIxBMl9fsjQfBF8s7YoZy1UJxO8TIrdBkgKPKg+olk8aoR2jkafEwix96g8JR8C3nqJF86JT+LgJ4jeoPDBLUG3Ae01fRNkhKWbo1JK3RCp61m/cR6Mp9H+EbgO1bQ9puRCAXESabEwF/TgcQQuv56h9v1glU9kqfe602zOzyUxuUOo1VB9+lRCiAV462vtZ99kKxIvRbNWd4PQ0xoPI5j7mTkXIpxZSUkrIsXdrbZuAYvHERD,iv:KycHSWt6nXdf9MoRf7cNWJgQ3e3JYK6gbJhSnHu3/2Q=,tag:QmiYIF1FYjDa3I86KB9oMA==,type:str] +moltbot-gateway-token: ENC[AES256_GCM,data:TIw7yqHbyNLdka0PHCrX1UNgK+PYj13sjJY9QoyMVIuMvFhFh1Fg9I8vTqD5/AWCypkcmmQullx3t/rOU/NI3Q==,iv:fkZn4u81Q+ZdEBM8l4YVhDVpAqdLEMFXRQMuZ3mdeC0=,tag:/ZFOiNCvI1holTkOtvgF9Q==,type:str] +piped-db-password: ENC[AES256_GCM,data:JM1ZyHOhYDo+fgiVRrYB+iF6ITL+hSpVY+h/xVH+aP85HEoaF+Ryo3iFxpk=,iv:iM67fueJ1ebGF79Mj/6YH8mEDc6uz0uTUGsKF43xhAI=,tag:oPBws8hO0fmS+o859RdsMQ==,type:str] +pushover-api-token: ENC[AES256_GCM,data:EBdqKj3ac/H9vYWdMWBKuRo18ucuAZHXEiS2LNLW,iv:vIx2/15QgfT14GcYFVdUcsNEk3On5nZ8jbqeP5fFwG8=,tag:sR+j0iqjbMPaFePWVRID4g==,type:str] +pushover-user-key: ENC[AES256_GCM,data:/dKxdB/eM0MtNSVcr4NYGv7tw1Cvkge8p/HcWv/+,iv:RzLuLyg+2KSGH9UW2495KeKEyiTo5OzMWtlZhgg48uw=,tag:2q7rAvy8bWyLPLNONmagig==,type:str] +wrwks_vpn_key: ENC[AES256_GCM,data:8LmRG8yVFfMTwgRnT5dQg5H0b5Yaz/fM15l4TsaVaEQ0PZsSHY2PvVacv+6iZdDZOeyVZfslg+12dCD5OicN3g==,iv:QGRs/d8HK77PwJRpGFu+7ciX7sqs8ZV+3KEh2BlHZ/M=,tag:EwebFPtI4TfAR7b9ps7vJw==,type:str] +wg_cloonar_key: ENC[AES256_GCM,data:9FgI8sAGXgn680jhzUvWY1IsmcuGfk2lPalE5xWN7iFi2KnSbj6inawwJmQ=,iv:qahuBL2U2ncS4SPUPYNJ4Eqaq4hc2zkgVAiyF7+0jVM=,tag:Ony3Fd1F08Dxy3fTGmp2sA==,type:str] +wg_epicenter_works_key: ENC[AES256_GCM,data:2gtqs64Zzz3Uy7RPWHszideTtzooA3YMaw4+WfmTxBbQNKREaeySV2+Vdls=,iv:sE0CRkgz7FCiH3cWg3ozzgjEMjQ1PxSm06wFKqqi/DY=,tag:DkgJISsUh0v2yIGZFVcQzA==,type:str] +wg_epicenter_works_psk: ENC[AES256_GCM,data:gl/6kg+QT+y3InIcx6OcVlEckhyKYzDvCFbc62CjFTLq7pCDuNbAMSpLJFA=,iv:0QuR2twfIMuyhT11tblvZ7A6BHqBJzZcx4IprTVlqw0=,tag:oJlLXnsy8w1Dcbs81MGsjA==,type:str] +wg_ghetto_at_key: ENC[AES256_GCM,data:mpKsGzoWz8U/v/aZdN+z/U4z9kzlSo6IRK81yEkGjrOqhc4IHEuYe6U6I1s=,iv:qityQlwmZMo+Dst48hGhegN04cpMwyB0soeWRiZiVZI=,tag:uBtl/jdXF7BihNfIYlqJ5w==,type:str] +matrix-shared-secret: ENC[AES256_GCM,data:IyeA3VvLhgGzEpTrQC85MlK5ngrPMvw/GmQhk9mWQ58NJsC942t8LcQO4AGMQBtrq17eLv6Ke2rOuoxlRA==,iv:zLKhiv01ViSH8dN9j3XJA520KdgBFQWO1bo/cuJVDuM=,tag:fiQ4NWhr+TtNN+AbGAtjxg==,type:str] +phpldapadmin: ENC[AES256_GCM,data:Xv7G0iCfuPG7rXWfddgLV2Ztftwh1/lCY1KU+hGJDSGxbXKMkjThS9HL8+2BkOwHr46YVp0JHtxEcK4dxOQ/QTCF0xU6eo92dneXJ8ZyPe4UVWX+3x26vp1iOEpaDqL5n55FqKX0vJHffJBUS0mBu403fkJS463Mgyd8i9GPYBGZrGiiiApj49DUqA4bKdnxZMfOvY1SLk5wLfoY10uUuWlG/hwKrp3y5EkyQdUuD43kyDUMG0Zcka5ovz9TFGCQqGERWWnasOlduYTlR057h3w6TKi/I4wupbp2IHu+hyvrRtkM2/EcVPXpvWgEE/i+EFto3ku/Go+L5yjahJoJEhog0oIsZOg3,iv:26JI37tNe85LM88gg/AOoTqmSPjXD4hXbePwSJQrqWw=,tag:pFwr+73n5s/cGFwNnBlLsg==,type:str] +palworld: ENC[AES256_GCM,data:ihtdcEXcqiSr2RqsYreg9HlYB9SVkPdNTDThZTU390Lxu8SfNkbruYmYAALo8H8N2nMX83FAyuLGQ0OHlN0qSPzroK8QVUF2oI+JAcyjMnKB/gqhLMMgr9UN+72X2/3K2OwH+rY873uiBVAVbTBtfOJzDGDCgINERSjVtyw00n1Wxzlz7JWti80b8Hdilpg6LZj7VshAZf19s0VWljxz/drGBHCetWLn9dCop5Q00Hqd7dC4rn+efVelL0M7OT8KiGfYyoUL5cQhGb4ihYXa5+QuvIazm6C5hoQn0Ou7PFQGitB13gziwTu/OXkZeNLm4+xuayr52G3Min3HwzEtiGVP0DtYJmx+ONUOal/scZXuhkC1fjtkIdSQZi3L78CKvvkxQz6VGXi2gWxeZ63fvxGEitiEhE4JG1XwERDQQup1OneKIeelNqiQKSaYmQe3nJjn8lrFW+TKoj2hgFHw9u2xH4Qad2HcsJPiz8w2MdwBVj5H88vBSBWGUWyi6D2cxC7uaJ+qEINzjkWodgdUfD+OyPrRqQcuB6geRgadYpmpr+fqH4sIbYg31GfUgXtEfCxm9muAywMzhhmEq4173F2JNTYHGJG+R+2CoMpw9nJSidQJNaSJnZRPpNlShmBbgPt2rvqrFVXeKpaIpk4OjT57U+vlV6OzP0x8CnYe77cspCntm5VcP5lzqTJ+Xn4AZWY8gPolQM87VZ+oOQ==,iv:7M4FSofk3eYlLKuVIdxL49g4bwTF4ju8omO0PLMnZVw=,tag:5E9q+as6oLdF++dapuG6TA==,type:str] +ark: ENC[AES256_GCM,data:M3ztO6/LUCD6Zik+g1SuKf+2ne4ZSDaaD0R/kWX+qwHJZ8Scfzku63a8qAfytfICQ/XhTEF+f6s5pxTkiN1mgPMfdIda73d+Rv2yeVTkdgsamY9kTrTx9v3wZHiNyUvQM+IjNUje2CsF4iivMzyJhIF0112qYH7bMuvbKydHO5EQw4WPBonIXfLC1vd5wqAXWgyuQmvHTwHLgTQXSLiKbP/MhoBrpuzQtNM479VjMNVy5FpCf8+hl9ffj9MEcsORCB/hbG7HT7tdkP4w,iv:EU0ofqpq6qDCgwc9wrI32o1f20bhIASVcymYSuUMy2I=,tag:tvtVedgFpyosA/kMsxIGGw==,type:str] +firefox-sync: ENC[AES256_GCM,data:ctJxQDELOxkXJAJusvwGT70jShSr2o+xtAFvX9EuWe5DxfXrXeUVdHo1tELp8kofPMnYq1dMGDvj0iBNzK6MPQ75jeehZSO+RVyeRQopEmIJUOOFKR/goCeP0gcTOkuKmyr1p01OBjUTIp1UWvcsY6QC0ZHjF602WsmEZ+KeWw3uBnR18+7dA5tAkvoy1O4=,iv:/eVCI11oCbRxuhQpX3BEgwJCaoPHPTBE0s1XgVT1rHE=,tag:USu3y/CGQlliVJzeloCtQQ==,type:str] +knot-tsig-key: ENC[AES256_GCM,data:JXz7YJGgxoEJV9KiaaaiDgE50cVcZhOyXmknOxpV4zdgximUrM+TsNXmd9k=,iv:hhOThVcAMWTwp0bqC+7JMDS6O1iZzpE50AxvDB0sy2c=,tag:IAdZlLxgNjACBZxKXCrh/A==,type:str] +mopidy-spotify: ENC[AES256_GCM,data:/InQ6bFDZMyP2Np6f8zOh/Ssdgr27tcrwaOZhodR7Gagau2RQCJ8QHYK42x8P/3TEDXLbR2umySv48cOa/XtI8CTQaPAttfw++11QLIaXGfiiKgw4NyjNAAnhB+qlvXBDaLrGyk2PuDcPBkXm1x87hh3Rtou0Wa/,iv:35drh5LsdQLhd3v5VfK1IeVOeTRM29PdZSY/dH9b7ZI=,tag:lqkiE1rUlUq3Ym5sl5Nsog==,type:str] +lms-spotify: ENC[AES256_GCM,data:7yiuiZc6/65ppPjzK5ngt6DOvFtnD0HRgKca+TfsZ8rI0CaNywVZceW1lA0v6l9a4FJaOcMegNIs+2cNa7BkVpia53uFRL0ikHTDyI0nB9XLIhmbnzlbGSJ26MMeczJNS3J6rEX758BcEXme9pAvEmSWUga/GTlRcjfuFkvbToEpbVe6oEhthtnf0kucH2Yr/7ETUOMJLaUfb8NhvUUt6+BOb4zy52cXRBmB+IWo1qM4djx4L15ESP7MAo7iah83lktyyJgn5g==,iv:Y0mWmoW5xxlKDEjX7NIFG36AhTfO8Yuz9nqwwvK/s9E=,tag:pQl6V3q/DojdqmJuMZBJHA==,type:str] sops: age: - recipient: age14grjcxaq4h55yfnjxvnqhtswxhj9sfdcvyas4lwvpa8py27pjy2sv3g6v7 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0VldwWkptbUZwYytBTlV1 - UHhjRWI5YVR6MDFFSDZpN05mbHc3ejZNVXpZClNTVXFSWWw4YVFSSzdBenZYYlU2 - Q3BSSVJmeEdIYzZiR2VYL0h1dlJNYU0KLS0tIE5CQ2V5NlpxQ09LS2tQWm9ya3Vq - VGkra1F1N1gvLzQwNlJNbVRsUnYxS0UKXdEvFAtZ3Zfy07H5738ZiYnrMhYhf5zb - ljHthFghcYloaF3LgjTN7W0AdfVK0//4tPzwBxyThDRLJqKE95HMig== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRjRJU3ZXYk1wbndIRTRV + WmNTY1BxdTdtMThwbnNNYmVwdlBVV21UeEhZCjFpY0VMWjZSdlFWNjFkVjNrcXVY + NGIyR1QwOWYvbzA0bjBGdVljYURJUVUKLS0tIG0valMrZm5GLzVHL1ZFWFR6WEE4 + SFZidDhhTGRWZ3N1OVRIck0zdU44enMKcvt5966NSlt6heJmmOk0BRHOZnimLzi+ + EPD1lnQH/Pq56Bcb+aFY4qymUwWov3TbshVBhh7CTiNtF8OSkgoEsw== -----END AGE ENCRYPTED FILE----- - recipient: age1exny8unxynaw03yu8ppahu5z28uermghr8ag34e7kdqnaduq9stsyettzz enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArTXdXM095YWw1OXFuWXdP - OE52cUZBcnNLaGlqd2w3YVNiZG5NWm9DT1I4ClRyRzNsUThZelVHWVl2ZENhbENw - YmhPUzRWZ3JZQXgwYzFPQ2hGZzMrNlEKLS0tIGkzdzZzOGgrM0pJNmZrTmZ4ZjBT - MDh6UURpRGs0d00weEhUNytoUkNGYncKazrUNHQpzYIlAWK+ZRFiPVKS9/IunxUI - IsfSAsnH1xt2z6gBvbzjyZXu5f0dkvU8Vpd5+V9CAP9TthA3R+7Jkw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBNSthOTgzZUhCVjBVb0tn + RnM4TWRPZmFvdzNMVUJuanlXdDZIMnpkMng0ClRrdHRNblNQQTRSdkZ0dzFWQW83 + azA2UkdqOFFxTDdTOGJEdXhXWkZQSWMKLS0tIGdyRndDOXd3MnI4cDAyRmQvZElW + Y25yZXdwQXJ4a1NGbzFlVi9oMWJOYVkKjMFhePSmIyDjjzn9y5wJN2yEx+88KGhM + W2W3iUGBjLOhnsUdNzDtrc5mDM+OH6jckvAz3UQpAUBtEaf+TUv3VA== -----END AGE ENCRYPTED FILE----- - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFTGhkMlh0aGIrandzUzJC - dVI3RTB4VmhUc1JSUFBxdmVrK3ZVTmZNdWpnCjhmWkFhV09qY0k2ejF5eDl0YXp0 - aU1zY0M5c3ZEZENBc1I4ajUrNmQrRkUKLS0tIGViMERSWG9IMVNVNUg0VE1YaVFG - YzROSlZyTEtCMmlpS0NuZk5xT01EaEkK++DwKWHm+k9iZlK+oPzZKfHg7r+nbbO6 - xt9F7Xp0KzYaVzBxPuqi8c7vYpiIZaKUYXgS5NpV4oLRgGuOBzib5Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBib3l5NVZMMWlVbEc1Y29N + THBXTmt6YVpnMG4xVjVNb3BJampuUVJoY3dnCnRMNk5wQnJzcWVLS0IyUk9ta2cv + U3dVWVJ1Tm1US2pROHphOGlidmxUK1kKLS0tIGtFdUpWdm9KMTVLS0tUdjBMZDlY + Vzl6QVE3azNtQm5IblVnMnBadkVCcFEKSbU+++fmAfh5oXPnjHbXK9XYDoLbtn9Z + qREcR1NZjTliJd5jJ8sgMMxDKo6+ml6nOsRLqyCqITllJpgFzSLe5A== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwcTVMWFBUSDZxQlhtamNt - WjhXYUNDVHFKcHJlV0VzUHNOWHd4TVR6TEN3ClVrMVBGb3ZUT3ZxZGFxMnkvd2dR - SDRCZHFlVWs3M0ZLbDJsQTAwV2JFUU0KLS0tIEZHblZsNmtvWGZtcHhYQk92dTFh - aEN1YXdpQTFRSElKb05IbVpTaW9VVlUKklD9VliJTRZMk8u8r5suw7IUeVwVXLSq - zm4SIUE/C8RPb23ev7gh3IG9J95pRplEwCRwKzib5/Hqz/SqNhUVHw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2YzIxSkEvUHdlL0FYcDhm + OTlTR0ExNVRPZzVTdlhFUWZ3YS9ncm1ObWw0CkQwWGZyRG5iN2FHNk9lVnpvUlFt + eTJKbzJYbXBuSjZwTitrRWtERnJyWHcKLS0tIDRZZU8rTUxCQnI3QkVhZ0h6WC9y + U1BDd1V3M1VnK0dqamVndGdVUysvbDAKPipxKNbjkE5VugEvKxt5If1iFules5ul + WLH7rH8M7R4uTOufBomXAqx3vMxxaCqUQlfbqhUkN7AT8vDPt5gqFg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-01-29T22:47:30Z" - mac: ENC[AES256_GCM,data:6iN/OVgm59aum4xUfJofyQP8xVNyEZB1TMT319xEIqwPdE7Rx2MCkfIWfV+bEYgo5iyIFkMzFjPeJO5he35l+0fOxGd5zQlpHEre0RxGnIJX+MEEZlY+qGSQj6omsAfJdr8chBbdHzFjpnr+cCvpa7UaPX/5PKAPnFoVLIKZdww=,iv:qTupVIZoIkDNz5Mi3HWMyArLU+qhwCUSQrp1je+YxuY=,tag:1LWru+2qdt2W3AS4wGHU6w==,type:str] + lastmodified: "2026-01-31T13:59:03Z" + mac: ENC[AES256_GCM,data:Nr7KPjlCuzWE4aAZj1MqD8Nm5TsC5FZWBpc9qQJMUOGjQMHYqwZU0fttRcY5Ik6MIH7+f+lPxHyRqqoy9ufYOqtAs5+fTDIgTGpYsBqN/MYqFLtwqAqOKoM3M+q0V8zmIotA13MQR8UxCF4WXCg37vwWKFKbNXlilpGOMOr1lHA=,iv:cjtfFHhqelIeNM7Xh6HIOJuQB2QzFp/vw8LcZujo6c0=,tag:Kb78AF9dswbO/MqjHDoQRg==,type:str] unencrypted_suffix: _unencrypted version: 3.11.0 From cabf453a5dab0ad8fe3c0ddfb5bec6cefce1aa93 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sat, 31 Jan 2026 19:55:11 +0100 Subject: [PATCH 7/7] fix: forgejo use github for actions url --- hosts/fw/modules/forgejo.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hosts/fw/modules/forgejo.nix b/hosts/fw/modules/forgejo.nix index c6fead7..d364f72 100644 --- a/hosts/fw/modules/forgejo.nix +++ b/hosts/fw/modules/forgejo.nix @@ -115,7 +115,10 @@ in SMTP_PORT = 587; USER = "gitea@cloonar.com"; }; - actions.ENABLED=true; + actions = { + ENABLED = true; + DEFAULT_ACTIONS_URL = "github"; # Pull actions from GitHub + }; attachment = { MAX_SIZE = 2048; # 2GB in MB for general attachments };