{ inputs, ... }: let forAllSystems = inputs.nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ]; in { flake.packages = forAllSystems (system: let pkgs = inputs.nixpkgs.legacyPackages.${system}; # Hermes agent with messaging platform support (Discord, Slack, Telegram) hermesMessaging = inputs.hermes-agent.packages.${system}.default.override { extraDependencyGroups = [ "messaging" ]; }; # OCI container image for k3s deployment hermesImage = pkgs.dockerTools.buildLayeredImage { name = "hermes-speckl/sme"; tag = "latest"; created = "now"; contents = [ hermesMessaging pkgs.cacert pkgs.tzdata pkgs.bash pkgs.coreutils ]; config = { Entrypoint = [ "/bin/hermes" "gateway" "run" ]; Env = [ "PATH=/bin" "SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" ]; }; }; in { default = hermesMessaging; docker-image = hermesImage; speckl-config = pkgs.writeTextDir "speckl-config.yaml" '' # Speckl SME — generated config # Override via services.hermes-speckl.settings model: default: "anthropic/claude-opus-4.6" memory: memory_enabled: true skill_generation: true user_profile_enabled: true toolsets: - all ''; } ); }