Hardware enablement, ISO image - #189
Merged
Merged
Conversation
jonringer
force-pushed
the
jonringer/more-hardware-enablement
branch
2 times, most recently
from
September 16, 2026 13:58
cbcb6c3 to
211e7b2
Compare
Add device-matching helpers for hardware quirks: hasManufacturer, hasProduct, isDevice, plus common presets (isFramework, isThinkPad, isDellXps, isAsusRog, isSurface). Also add hasPciDevice, hasUsbVendor, and isConvertibleChassis utilities for broader hardware detection.
Add facter auto-detection modules for audio/SOF, fingerprint readers, gaming peripherals, printers, scanners, and touchscreens. Each module detects hardware from the facter report and exposes detection flags at hardware.facter.detected.* for downstream consumers.
Add Thunderbolt 3 device management daemon, ekaos service module at services.hardware.bolt, and facter/thunderbolt.nix auto-detection that enables boltd when Thunderbolt controllers are detected.
Add D-Bus power profile switching daemon, ekaos service module at services.power-profiles-daemon, and facter/power.nix auto-detection that enables PPD on battery-equipped bare-metal systems.
Port Intel IPU6 camera stack: firmware binaries (ipu6-camera-bins), userspace HAL with Tiger Lake/Alder Lake/Meteor Lake variants (ipu6-camera-hal), and Vision Sensing Controller firmware (ivsc-firmware). Add ipu6ep-camera-hal and ipu6epmtl-camera-hal override entries in top-level.nix.
Add hardware.ipu6 option module for Intel IPU6/MIPI camera support with platform selection (Tiger Lake, Alder Lake, Meteor Lake). Handles kernel driver loading, firmware installation, udev rules, and platform-specific camera HAL. Facter auto-detects IPU6 hardware by PCI device ID and sets the correct platform variant.
Add hardware.nvidia option module for NVIDIA proprietary driver support: driver branch/package selection, open vs proprietary kernel modules, modesetting, GSP firmware, power management (suspend/resume, RTD3), PRIME hybrid GPU modes (offload/sync/reverse sync) with bus ID configuration, and nvidia-offload convenience script. Facter auto-detects NVIDIA GPUs, populates PRIME bus IDs from hardware report, and enables offload mode for hybrid GPU systems. Remove redundant nvidia-drm.modeset=1 from facter/gpu.nix as hardware.nvidia now handles it.
Replace docbook_xml_dtd_45 and docbook_xml_dtd_412 with the real
attribute docbook-xml-dtd.{v4_5,v4_1_2} so callPackage can inject
them without relying on stdenv/aliases.nix.
Move stdenv.cc.cc lib to buildInputs so autoPatchelfHook can find libstdc++.so.6. Disable zsh/bash completions in power-profiles-daemon to avoid shtab Python module dependency.
Port Intel IPU7 camera stack for Lunar Lake: ipu7-camera-bins (firmware), ipu7-camera-hal (userspace HAL with ipu7x/ipu75xa variants), ipu7-drivers (kernel module), and jsoncpp dependency. Add hardware.ipu7 option module with platform selection and firmware loading. Extend facter/camera.nix to auto-detect IPU7 hardware by PCI device ID (0x645d Lunar Lake, 0xb05d Arrow Lake) alongside existing IPU6 detection.
Port ISO image toolchain: mtools (FAT filesystem tools), libisoburn (xorriso ISO creator), and their dependency chain (libburn, libisofs, libcdio, libcddb). Required for building EkaOS installation media.
Use pkgs.makeInitrd instead of kernelPackages.kernel.makeInitrd which no longer exists after makeInitrd was moved to the kernel variant passthru. Use kernel modules directory directly instead of the missing pkgs.aggregateModules function.
Add a kitchen-sink hardware profile for installation media that loads drivers for all common GPUs (Intel, AMD, nouveau), audio (HDA, SOF), WiFi (iwlwifi, ath, rtw, mt7921, brcm), Ethernet, Bluetooth, input devices, Thunderbolt, and IPU6 cameras. Includes nixos-facter for post-install hardware detection. Add ekaos/configurations/iso-generic.nix for building a generic installer ISO: nix-build ekaos/configurations/iso-generic.nix
jonringer
force-pushed
the
jonringer/more-hardware-enablement
branch
from
September 17, 2026 22:10
211e7b2 to
795f244
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
audio, camera, fingerprint, printing (incomplete), nvidia, power, scanner, thunderbolt