refactor(llm-agents): replace flattening overlay with upstream shared-nixpkgs

Drop the custom mkLlmAgentsOverlay factory (172 top-level attrs +
17-entry blocklist guarding against nixpkgs clobbering — the source of
the webcord buildNpmPackage and fetchPnpmDeps stack overflows).

Apply inputs.llm-agents.overlays.shared-nixpkgs directly instead. It
exposes everything under the pkgs.llm-agents.* namespace and clobbers
nothing, so the blocklist becomes unnecessary. Packages stay built
against this system's nixpkgs (allowUnfree), which qmd.override
cudaSupport in the m3-ares NVIDIA specialisation requires.

Consumers switched to namespaced refs:
- hosts/m3-hermes/services/hermes-agent.nix: herdr, opencode, qmd
- m3ta-home agents.nix (input bumped): agent-browser, beads, herdr,
  qmd, openspec — unqualified refs would now silently resolve to
  outdated nixpkgs attrs (opencode 0.3.x) or vanish.

openspec pass-through dropped from m3ta-nixpkgs (input bumped):
llm-agents is the single source of truth now.

Note: flake.nix/lock carry the pre-existing local path inputs for
m3ta-home and m3ta-nixpkgs (dev state, gitea URLs kept as comments).

Verified: drvPath evals for m3-hermes, m3-atlas, and the m3-ares
NVIDIA specialisation (qmd + CUDA EULA) all pass; statix/deadnix clean.
This commit is contained in:
2026-08-31 11:47:17 +02:00
parent e774b4abd3
commit ed2f9ba4d2
4 changed files with 18 additions and 60 deletions
+4 -4
View File
@@ -23,8 +23,9 @@
nixpkgs-master.url = "github:nixos/nixpkgs/master";
m3ta-nixpkgs = {
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs";
# url = "path:/home/m3tam3re/p/NIX/nixpkgs";
# url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs";
inputs.nixpkgs.follows = "nixpkgs";
url = "path:/home/m3tam3re/p/NIX/nixpkgs";
};
llm-agents.url = "github:numtide/llm-agents.nix";
@@ -76,8 +77,7 @@
in {
packages =
forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
overlays = removeAttrs allOverlays ["mkLlmAgentsOverlay"];
lib.mkLlmAgentsOverlay = allOverlays.mkLlmAgentsOverlay;
overlays = allOverlays;
homeManagerModules = import ./modules/home-manager;
nixosConfigurations = {