diff --git a/llm/flake.lock b/llm/flake.lock new file mode 100644 index 0000000..041cbaf --- /dev/null +++ b/llm/flake.lock @@ -0,0 +1,672 @@ +{ + "nodes": { + "authentik-go": { + "flake": false, + "locked": { + "lastModified": 1771856219, + "narHash": "sha256-zTEmvxe+BpfWYvAl675PnhXCH4jV4GUTFb1MrQ1Eyno=", + "owner": "goauthentik", + "repo": "client-go", + "rev": "4c1444ee54d945fbcc5ae107b4f191ca0352023d", + "type": "github" + }, + "original": { + "owner": "goauthentik", + "repo": "client-go", + "type": "github" + } + }, + "authentik-nix": { + "inputs": { + "authentik-go": "authentik-go", + "authentik-src": "authentik-src", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "flake-utils": "flake-utils", + "napalm": "napalm", + "nixpkgs": [ + "nixpkgs" + ], + "pyproject-build-systems": "pyproject-build-systems", + "pyproject-nix": "pyproject-nix", + "systems": "systems", + "uv2nix": "uv2nix" + }, + "locked": { + "lastModified": 1776085803, + "narHash": "sha256-JvvWVbXJYSY8qOReMbAOD4lxcN2cjKV6lg/jLz8CEuY=", + "owner": "nix-community", + "repo": "authentik-nix", + "rev": "4370b561c8bafb59773ce3a518506bcf1161dbdb", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "authentik-nix", + "type": "github" + } + }, + "authentik-src": { + "flake": false, + "locked": { + "lastModified": 1775573258, + "narHash": "sha256-Xq7JGI/8ppIydIuWd9KRJKUrh7UpeniwvZ4NAtXbYJ4=", + "owner": "goauthentik", + "repo": "authentik", + "rev": "5249546862986202b901c2afd860992ec48c6ef6", + "type": "github" + }, + "original": { + "owner": "goauthentik", + "ref": "version/2026.2.2", + "repo": "authentik", + "type": "github" + } + }, + "blueprint": { + "inputs": { + "nixpkgs": [ + "llm-agents", + "nixpkgs" + ], + "systems": [ + "llm-agents", + "systems" + ] + }, + "locked": { + "lastModified": 1776249299, + "narHash": "sha256-Dt9t1TGRmJFc0xVYhttNBD6QsAgHOHCArqGa0AyjrJY=", + "owner": "numtide", + "repo": "blueprint", + "rev": "56131e8628f173d24a27f6d27c0215eff57e40dd", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "blueprint", + "type": "github" + } + }, + "bun2nix": { + "inputs": { + "flake-parts": [ + "llm-agents", + "flake-parts" + ], + "nixpkgs": [ + "llm-agents", + "nixpkgs" + ], + "systems": [ + "llm-agents", + "systems" + ], + "treefmt-nix": [ + "llm-agents", + "treefmt-nix" + ] + }, + "locked": { + "lastModified": 1777369708, + "narHash": "sha256-1xW7cRZNsFNPQD+cE0fwnLVStnDth0HSoASEIFeT7uI=", + "owner": "nix-community", + "repo": "bun2nix", + "rev": "e659e1cc4b8e1b21d0aa85f1c481f9db61ecfa98", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "staging-2.1.0", + "repo": "bun2nix", + "type": "github" + } + }, + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1777713215, + "narHash": "sha256-8GzXDOXckDWwST8TY5DbwYFjdvQLlP7K9CLSVx6iTTo=", + "owner": "nix-community", + "repo": "disko", + "rev": "63b4e7e6cf75307c1d26ac3762b886b5b0247267", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "disko", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "llm-agents", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1777988971, + "narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": [ + "authentik-nix", + "systems" + ] + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1777851538, + "narHash": "sha256-Gp8qwTEYNoy2yvmErVGlvLOQvrtEECCAKbonW7VJef8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "cc09c0f9b7eaa95c2d9827338a5eb03d32505ca5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-25.11", + "repo": "home-manager", + "type": "github" + } + }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.1.1", + "repo": "ixx", + "type": "github" + } + }, + "llm-agents": { + "inputs": { + "blueprint": "blueprint", + "bun2nix": "bun2nix", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs", + "systems": "systems_2", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1778219255, + "narHash": "sha256-fAJUly400K2SoP75LaZ7x1fhwau2BxI7XBY4UgFXm6A=", + "owner": "numtide", + "repo": "llm-agents.nix", + "rev": "8dc08cc44249bacfabaf4e25e223ec9d1e7d677b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "llm-agents.nix", + "type": "github" + } + }, + "napalm": { + "inputs": { + "flake-utils": [ + "authentik-nix", + "flake-utils" + ], + "nixpkgs": [ + "authentik-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1725806412, + "narHash": "sha256-lGZjkjds0p924QEhm/r0BhAxbHBJE1xMOldB/HmQH04=", + "owner": "willibutz", + "repo": "napalm", + "rev": "b492440d9e64ae20736d3bec5c7715ffcbde83f5", + "type": "github" + }, + "original": { + "owner": "willibutz", + "ref": "avoid-foldl-stack-overflow", + "repo": "napalm", + "type": "github" + } + }, + "nixos-facter-modules": { + "locked": { + "lastModified": 1773858690, + "narHash": "sha256-oW0/lC0oRG5H5LaK6Rmh9L1wmkn9TbenM4bXwnIEDKA=", + "owner": "numtide", + "repo": "nixos-facter-modules", + "rev": "139dcef4dfc97009629c445806f197883351ab4a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nixos-facter-modules", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1778124196, + "narHash": "sha256-pYEytCNic/czazbV9r3tbQ6BZzqRBg/41x2dIC5ymOo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "68a8af93ff4297686cb68880845e61e5e2e41d92", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "72716169fe93074c333e8d0173151350670b824c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1777954456, + "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1775888245, + "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "13043924aaa7375ce482ebe2494338e058282925", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixvim": { + "inputs": { + "flake-parts": "flake-parts_3", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_4" + }, + "locked": { + "lastModified": 1769049374, + "narHash": "sha256-h0Os2qqNyycDY1FyZgtbn28VF1ySP74/n0f+LDd8j+w=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "b8f76bf5751835647538ef8784e4e6ee8deb8f95", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "nixos-25.11", + "repo": "nixvim", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_2", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768249818, + "narHash": "sha256-ANfn5OqIxq3HONPIXZ6zuI5sLzX1sS+2qcf/Pa0kQEc=", + "owner": "NuschtOS", + "repo": "search", + "rev": "b6f77b88e9009bfde28e2130e218e5123dc66796", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, + "pyproject-build-systems": { + "inputs": { + "nixpkgs": [ + "authentik-nix", + "nixpkgs" + ], + "pyproject-nix": [ + "authentik-nix", + "pyproject-nix" + ], + "uv2nix": [ + "authentik-nix", + "uv2nix" + ] + }, + "locked": { + "lastModified": 1771423342, + "narHash": "sha256-7uXPiWB0YQ4HNaAqRvVndYL34FEp1ZTwVQHgZmyMtC8=", + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "rev": "04e9c186e01f0830dad3739088070e4c551191a4", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "type": "github" + } + }, + "pyproject-nix": { + "inputs": { + "nixpkgs": [ + "authentik-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1771518446, + "narHash": "sha256-nFJSfD89vWTu92KyuJWDoTQJuoDuddkJV3TlOl1cOic=", + "owner": "pyproject-nix", + "repo": "pyproject.nix", + "rev": "eb204c6b3335698dec6c7fc1da0ebc3c6df05937", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "pyproject.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "authentik-nix": "authentik-nix", + "disko": "disko", + "home-manager": "home-manager", + "llm-agents": "llm-agents", + "nixos-facter-modules": "nixos-facter-modules", + "nixpkgs": "nixpkgs_2", + "nixvim": "nixvim", + "sops-nix": "sops-nix" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1777944972, + "narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "c591bf665727040c6cc5cb409079acb22dcce33c", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "llm-agents", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "uv2nix": { + "inputs": { + "nixpkgs": [ + "authentik-nix", + "nixpkgs" + ], + "pyproject-nix": [ + "authentik-nix", + "pyproject-nix" + ] + }, + "locked": { + "lastModified": 1772187362, + "narHash": "sha256-gCojeIlQ/rfWMe3adif3akyHsT95wiMkLURpxTeqmPc=", + "owner": "pyproject-nix", + "repo": "uv2nix", + "rev": "abe65de114300de41614002fe9dce2152ac2ac23", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "uv2nix", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/llm/flake.nix b/llm/flake.nix new file mode 100644 index 0000000..8b7f86a --- /dev/null +++ b/llm/flake.nix @@ -0,0 +1,48 @@ +{ + description = "Multi-host NixOS configuration"; + + inputs = { + authentik-nix = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/authentik-nix"; + }; + disko = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/disko"; + }; + home-manager = { + url = "github:nix-community/home-manager/release-25.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + llm-agents.url = "github:numtide/llm-agents.nix"; + nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixvim = { + url = "github:nix-community/nixvim/nixos-25.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + sops-nix.url = "github:Mic92/sops-nix"; + }; + + outputs = inputs@{ self, disko, home-manager, nixpkgs, nixvim, sops-nix, ...}: + let + configFiles = pkgs.stdenv.mkDerivation { + installPhase = '' + mkdir -p $out + cp -r * $out/ + ''; + name = "config-files"; + src = ../configs; + }; + pkgs = nixpkgs.legacyPackages.${system}; + system = "x86_64-linux"; + in { + nixosConfigurations = { + "nocix-amd-legacy-quadcore-292465" = import ../system.nix { + configuration = ../host/nocix/amd-legacy-quadcore-292465; + roles = [../roles/llm.nix ]; + inherit configFiles disko home-manager inputs nixpkgs nixvim sops-nix system; + }; + }; + }; +} diff --git a/modules/system/pi.nix b/modules/system/pi.nix new file mode 100644 index 0000000..33b0419 --- /dev/null +++ b/modules/system/pi.nix @@ -0,0 +1,30 @@ +{ config, configFiles, inputs, lib, pkgs, ... }: +with lib; + +let + cfg = config.myModules.pi; + group = "root"; + user = "root"; +in { + options.myModules.pi = { + domainName = mkOption { + example = "staging-pi.nidus.cloud"; + type = types.str; + }; + enable = mkEnableOption "custom pi configuration"; + }; + + config = mkIf config.myModules.pi.enable { + environment.systemPackages = with inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}; [ + pi + ]; + sops.secrets."pi-env" = { + format = "dotenv"; + group = "${group}"; + mode = "0400"; + owner = "${user}"; + #restartUnits = ["${nidusNameWebserver}.service"]; + sopsFile = ../../secrets/pi.env; + }; + }; +} diff --git a/roles/llm.nix b/roles/llm.nix new file mode 100644 index 0000000..b9ee1d3 --- /dev/null +++ b/roles/llm.nix @@ -0,0 +1,3 @@ +{ config, lib, pkgs, ... }: { + myModules.pi.enable = true; +} diff --git a/secrets/pi.env b/secrets/pi.env new file mode 100644 index 0000000..58cc951 --- /dev/null +++ b/secrets/pi.env @@ -0,0 +1,23 @@ +DEEPSEEK_API_KEY=ENC[AES256_GCM,data:u8baCz5aMO+5DlNQAw1uMCjZV/Gd6CVadWJtFa/BaeeEN1U=,iv:rmkpERMMiuWC528gVOAN7lfc2OhFxfnj5KdvwZeJD8I=,tag:3Uo+Lf87uMZ2VPVpEaLbBA==,type:str] +sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4OTcveWVKbE54WmhpMFZ2\ncjVydjhYcmFGMlFScWFiT3RYalRFc25ZdFNrCmY5bTI2TXhUVlNLWVh3LzM3UVFp\nNjRqa2R6Smt0TjJ6Wm45ajhRRWEyaWcKLS0tIGtuV2FyTXFnZ2NqeXY1bHlhNVZo\nSU5tZGttcVFFK3lkeUtQMWUvVHVYa2sKy5jcebFLAXakt090ZCcNpTyejz1gcg6i\n7vwdz4Zl7S0WvLPwijlTjOulrsuqEl8qEOJOV6B1qkbYJiBvTCPduw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_0__map_recipient=age1wxlwx75hfxer4trvfzad7cwdn2hhu4we50p32vpy3qvdct7t656q3pp04x +sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBucUE3b0twNzhzazFEOS9N\ndmhub2dYdzVUc09OZlhaSEs1K0RuNjF2cGtvCk9KSU96dnBENHlrTTBjeERrTnlw\nUzV5a2QyN3A4V25MZDlxZU5MSXZyQjQKLS0tIG1CbWw3azBKS2ZYYm5SQ1MyaG1i\nY1IxZnVORnhpeVc4VHV1eTRaUXYxMTAK8l6l00bJkM1FL35s3/lGl/riDwhQxVlF\nklt7D/Bx05NZsJJ33SgP+vgjIOrkh3Q19DALUO2JjemRNJaNOopu0Q==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_1__map_recipient=age1x704pjnueguchkl54ly8w4w26ltys5900v7xnl7w3zlgasus09jszz45t8 +sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPMDdZT0ZLSWpGQjhkbFdE\naktNT21vT0ZDbVJMcytPZUE1aVc2M0VOaDJFCmZKd1FDSFBQQmtTQmFmMG5xNEkv\nK3VZR1FXd0hqTkRhMDBubkJ6Q04zblkKLS0tIFFjZi9wVU45M0lXZ2llNXlBbGJn\nMWNBWC93SFpMTkxUdnVuQ0pQcnVkcGcKJkRmTHuP3+YHAsWT0RvpWcYrWMJPNVAr\neg4mMi8VTLij/e7x7ZjwOodcS4LH/r3wM8peOCx6yqxwUKGNUOpyWw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_2__map_recipient=age15y4k929zaj9fdg3vd40pa40tgvrgv9mn22xfummn5zxfmkcw5d0st6prjx +sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKRUtwaVFPcUNPK1piNThq\nVjlSaVpzWXBDWVlIdnBlMWVZZW90ZkJLaURBCjJWQ1lVSFNaNmpPM3l0R1ZqdDZt\nSFUvWEVpdVJzaXdId0FQRnVjc1p2VDQKLS0tIHFlNDRCNDRLTjlqcVRwaHZmQXBN\ndXcwVkpCc2ZFcEJyS3dlQWpMUTZaNDgKMDP23nB2HfwB8lEtZtB3dMQS1vnAdhcS\ngV4VOLlL/KtP/v3IQW032y/F5kRL+7Ue8npu+SdE/Z0RwE+dmVRlxg==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_3__map_recipient=age1q5syuyx3n255vllv6elfj72yk5mhxnk9pqawzyy4gzkzmpw3gpjqz9ujx2 +sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzMkdDN1VDQytmRCtyMWFO\nK2lEZmhnR3RBSkJzNGs0aUdJMmZSYm02c1NnCjBHSEI4SXU1UFJCNkZYMkZvREJB\naHIzYzJpcVM1UnJqanFpbHBYcTJmQlUKLS0tIDF3eThpOURFcENXcmxmV0hVUE1D\neDMzVzBPckhYditpQ08rZFFpYndDT1UKoopOFeoO0Iw5V1TUutxy1bWxBHN0X4ri\nPiGATH6KjOqZ3iZY32zT9UzQlKU47N4FBw4mHD4Ham2OBjF+l/f2LQ==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_4__map_recipient=age1rqa4qvkk7s26pgj09d269t84vprdrh0jhyl75xq5zyhp9cdssq2qc8hut8 +sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNVTN3SFppN21hQVVkRXNv\naGFKOEl4NHVnSksxdm14bmJFL0lBYjExMWxFCit1bGNCNEFRQ0FoOG14Zmp3dnpX\nVzNYSVZIZlI1WHRmeXJEVnJ4QkxtS00KLS0tIEFURi90V1V6VkMvV2J0WmdNUGlv\ndXplWGRwWGNld0Rya0UrT2xvY0JoZHcKZc8AeYXnNznQ4KwmRBW3p42Fs7EOIOtp\nGFUjFtifmENnMwTqyIKfHllhSlQ1X6ZjXkhSvhaJPc2Vu9QiydYn/w==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_5__map_recipient=age1yfs6d0vac45rnx3q54u52tjk5vnfsqnghaj95kmkl7fd5du3ee8qgse385 +sops_age__list_6__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1WlJ0WHB5MWIxVjZ1M3VD\nak9VTnVMb3dpdGo3dUVybSt2TjVVNmRtQTNnCk8rL2tPYXJxRk5sQ0puOGJwVmhV\nTFZNYUxFbDh2QzdzdllRVld0R0xzSzAKLS0tIEExZnJXNDBTZThYRDBCLzNkcitS\neHoxUjV4WGtxUzIrUlhVVVBmbHR3NTgKq2z4Mb/W9LbGU6hoqShOPrOptL8SHVYW\nzCXcqeivV5zZs4sAx9j9NnaddI3iVxOhJdscc0gQ4TeOczmqCQik2A==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_6__map_recipient=age1t3ryfktuhr3cysf49m9q2n8fkjf9ajjjnhztxw9hz8paxgk4lpcq065jge +sops_age__list_7__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiSUhqb1pwZTUrcG51cUw3\nQ09TNXh1cWJRRjFhcE0rczJVRUFiZjczMGc4Ck85NlFkMUxXUWlTKzlPNXJQUWIy\nNk01T1Bra1Bmd2pNdmxwSGxyWUo1dmMKLS0tIFNTMXBiRXBuYzJlSkJIbE9iTThp\nTUFuUmErR1NDMlM5bktrMnFtM3FUUXcKRZ2iF4ipY79pXMD764RDOBr3Ynktvpbe\n/GJGJMGHL1aKJ7JG20M19nRiaREXs9v9nMvIHF4TezzMuaar+xjbpQ==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_7__map_recipient=age167q6r28ws6wrpjwxnt4ap2fgs6d9cyvrdhzl2wflr2tnsw5xapxq36n2ec +sops_age__list_8__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWWkxTSWd0emNtYVRrUVRu\nZ2hnUVVrYnN5K3YwZnJnSm9yM0xyUFB3VlRjCncrZWM4OERXWGJMVHE4NFhxcVhR\nNE5HMkhWZHBjNlFjNTNoM2ZCOG9LQmMKLS0tIHB1enp3ZC9ydnNlbk5xaHhuSmJ3\nTkVNMm4ycnMrT2dLWjNzR2tHTHdKdHMKxeBV+LTTMwd0hRFe+2hODhpjWTcxdeJt\n2hQI/SDEEeb9B5QjqLzqvtFfWl52baGluAjsNxuTrpj209IJOVPnYg==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_8__map_recipient=age1924evks66k9g6c4zcnn2ghjcxpe0fzw2y9j253xredkwqnw9p5qqjcvjqt +sops_lastmodified=2026-05-08T16:10:08Z +sops_mac=ENC[AES256_GCM,data:N0kcjvtRzqI4pIYxg1wXU6Wzsl5sutUmbA30doEWP7Z4N/XEbWZ6H1RsRZFmCA6mr4Axp6wrVpxnS59u84RxIn9puxg3Sx5Pp2tp3q4TH+rd0/7O4/uGtiXu5oE81kXZJwvwzlep1BEyI3bADNFkObpmyfDfy9JmobYy+z7iMfI=,iv:0qBSSViVgR5kXS2yhWwaui8eY6iZ7i+/VdjIRIO9N7E=,tag:oROMvS8wjz512NZWq+KL0w==,type:str] +sops_unencrypted_suffix=_unencrypted +sops_version=3.12.1