The option defaults to `report != { }` instead of `reportPath != null`,
because since the report may be set externally using `report`, guarding
for `reportPath != null` breaks setups that set it externally, since
none of the modules take effect any longer.
Add lib.mkIf condition checking if config.hardware.facter.reportPath != null
to all facter modules. This shortcuts the module effects when no facter
report is available, preventing unnecessary evaluation and potential errors
when the report is not provided.
This adds automatic network configuration based on detected hardware:
- networking/default.nix: Auto-configure DHCP on physical interfaces
Detects Ethernet, WLAN, USB-Link, and generic network interfaces,
automatically enabling DHCP on each. Excludes loopback and mainframe
interfaces. Sets networking.useDHCP and per-interface useDHCP.
- networking/intel.nix: Intel WiFi firmware detection
Auto-enables firmware for Intel 2200BG and 3945ABG wireless cards
based on PCI vendor/device IDs.
- networking/initrd.nix: Network drivers in initrd
Loads network controller drivers when boot.initrd.network.enable
is set, enabling network boot scenarios.
Builds on PR #454847 (boot & storage).
Part of incremental upstreaming from nixos-facter-modules.