diff --git a/flake.nix b/flake.nix index 322e616d..d9eb713c 100644 --- a/flake.nix +++ b/flake.nix @@ -72,11 +72,17 @@ # Package wiring for agent containers — the harness modules # consume hyperhive's own packages via the `hyperhive.packages` # option (see nix/agent-modules/packages.nix); no overlay. - # `mkDefault` so a per-agent override of an individual key wins. + # The `mkDefault` is applied PER KEY (`mapAttrs`), not to the + # whole attrset: definition-level priority filtering runs + # before `attrsOf`'s per-key merge, so a whole-set `mkDefault` + # would be discarded entirely the moment an agent.nix + # overrides a single key. Per-key priorities make an + # individual override win while every other key keeps the + # flake default. agentPackages = { lib, pkgs, ... }: { - hyperhive.packages = lib.mkDefault { + hyperhive.packages = lib.mapAttrs (_: lib.mkDefault) { inherit (self.packages.${pkgs.stdenv.hostPlatform.system}) hive-agent hive-agent-mcp