horizon.packageSet: requiredPackages should control flake output exposure
Problem
The horizon.packageSet module exposes ALL packages in the overlay as flake outputs (packages.*), but requiredPackages only affects README generation. This means build:omnix in CI builds every package in the set (~500 packages), not just the required ones.
Per @locallycompact directive: every flake output must build. This is unenforceable when all packages are flake outputs, since bleeding-edge GHC versions (9.10.x, 9.12.x) have packages that fail to compile.
Proposed change
When requiredPackages is set and non-empty, the horizon.packageSet module should filter packages to only expose those packages as flake outputs. Non-required packages remain available via legacyPackages for downstream composition but are NOT exposed as packages.* and therefore NOT built by CI.
Context
- horizon-advance has 5 lts/ branches, 2 passing (9.6.x, 9.8.x) and 3 failing
- The 9.10.x and 9.12.x branches fail because non-required packages do not compile
- All 13 required packages evaluate successfully on these branches
- Ref: package-sets/horizon-advance#2