refactor: thread agent packages via option, drop overlay and forge-tools shim

This commit is contained in:
müde 2026-07-13 21:43:26 +02:00
commit 281667d5a8
13 changed files with 139 additions and 168 deletions

View file

@ -23,17 +23,6 @@ let
name = "hyperhive-nix-src";
};
# Stub overlay that satisfies pkgs.hyperhive-* references in module
# option defaults without depending on self's Rust / frontend builds.
# nixosOptionsDoc renders `defaultText` for these options anyway; the
# stubs just prevent attribute-missing eval errors.
docsStubOverlay = _final: _prev: {
hyperhive = pkgs.emptyFile;
hyperhive-frontend = pkgs.emptyDirectory;
hyperhive-assets = pkgs.emptyDirectory;
hyperhive-docs = pkgs.emptyDirectory;
};
# Stub host system: every hyperhive subsystem `mkForce false` so
# heavy build inputs (matrix container, forge, etc.) stay out of
# the eval — only option *declarations* matter for the doc walk.
@ -48,7 +37,6 @@ let
(
{ lib, ... }:
{
nixpkgs.overlays = [ docsStubOverlay ];
fileSystems."/" = {
device = "/dev/null";
fsType = "tmpfs";
@ -62,14 +50,15 @@ let
];
};
# Agent module eval from the content-addressed nixSrc. Relative
# imports inside agent-base.nix (e.g. ./harness-base.nix) resolve
# correctly against the nixSrc directory tree.
# Agent module eval from the content-addressed nixSrc. Relative
# imports inside agent-base.nix (the ./harness module dir) resolve
# correctly against the nixSrc directory tree. `hyperhive.packages`
# stays unset — every option default that references it carries a
# `defaultText`, so the doc walk never forces the packages.
agentEval = nixosSystem {
system = pkgs.stdenv.hostPlatform.system;
modules = [
"${nixSrc}/templates/agent-base.nix"
{ nixpkgs.overlays = [ docsStubOverlay ]; }
];
};