mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-29 13:35:44 +00:00
Previously the user-supplied package list was passed directly through `lib.closePropagation` and an `isHaskellLibrary`-attribute filter, so mistakes such as `[ dontCheck hp.foo ]` (forgetting parentheses around the override) silently produced a GHC environment with the affected package missing instead of failing. Validate each top-level entry up front. We deliberately accept any derivation (not just Haskell libraries), because shellFor passes mixed inputs like `libraryFrameworkDepends` through here on Darwin; those are still silently dropped by the existing closure-side filter. The user-error case the issue is about -- non-derivation values like functions or strings -- is now rejected with a helpful message that points at the canonical fix. Fixes #30304 Assisted-by: claude-code with claude-opus-4-8[1m]-high