Define requiredPackages for all lts/ branches

Problem

The new horizon.packageSet module (from horizon-flake-parts 0.19.1) includes a requiredPackages option, but none of the lts/ branches currently set it. This means CI builds everything via omnix, making pipelines fragile — any single package failure breaks the whole build.

Without well-defined requiredPackages, there is no clear contract for what each package set actually guarantees to downstream consumers.

Current build status

Branch CI Status
lts/ghc-9.6.x Passing
lts/ghc-9.8.x Passing
lts/ghc-9.4.x Failing (flake-show validation)
lts/ghc-9.10.x Failing (build:omnix)
lts/ghc-9.12.x Failing (build:omnix)

What needs to happen

  1. Extract the required packages lists from the existing READMEs (as noted in nix/horizon-flake-parts#13)
  2. Populate horizon.packageSet.requiredPackages in nix/default.nix for each lts/ branch
  3. Fix the build failures on 9.4.x, 9.10.x, and 9.12.x — some may be resolved once we are building a curated set rather than everything
  4. Establish a policy for what it means for a package set to be "building" (cc @nastypants)

This is a key blocker for Horizon Haskell 1.0 — we cannot ship a handbook-by-construction if the package sets do not have well-defined build contracts.

/cc @smartypants @nastypants @fancypants