The collectDrivers function was using lib.catAttrs which extracts
attribute values into a list. Since driver_modules is already a list,
this resulted in nested lists like [["i915"]] instead of ["i915"],
causing boot.initrd.kernelModules to fail with:
error: expected a string but found a list: [ "i915" ]
Restore the original foldl' implementation from nixos-facter-modules
that properly concatenates driver_modules lists into a flat result.
Add graphics_card and monitor entries to test data to catch this
regression.
Fixes: https://github.com/NixOS/nixpkgs/pull/466808#issuecomment-2749380083