{ config, lib, ... }: { nixpkgs.overlays = [ (final: prev: { ipu6epmtl-camera-hal = prev.ipu6epmtl-camera-hal.overrideAttrs (old: { postPatch = (old.postPatch or "") + '' substituteInPlace src/v4l2/MediaControl.cpp \ --replace-fail 'static const string ivscName = "Intel IVSC CSI";' \ 'static const string ivscName = "Intel CVS";' ''; }); gst_all_1 = prev.gst_all_1 // { icamerasrc-ipu6epmtl = (prev.gst_all_1.icamerasrc-ipu6epmtl.override { ipu6-camera-hal = final.ipu6epmtl-camera-hal; }).overrideAttrs (old: { version = "20250923_ov02e"; src = final.fetchFromGitHub { owner = "intel"; repo = "icamerasrc"; tag = "20250923_ov02e"; hash = "sha256-mKRK0Z3dnyvzvoL6BotpVFRtkb53GQw9wUOrHIUoEsA="; }; }); }; }) ]; hardware.ipu6 = { enable = true; platform = "ipu6epmtl"; }; systemd.services.v4l2-relayd-ipu6 = { preStart = lib.mkOverride 40 '' mkdir -p "$(dirname "$V4L2_DEVICE_FILE")" ${config.boot.kernelPackages.v4l2loopback.bin}/bin/v4l2loopback-ctl \ add --name "Intel MIPI Camera" --exclusive-caps=1 --buffers 8 \ ${toString config.hardware.ipu6.videoDeviceNumber} || [ $? -eq 17 ] echo /dev/video${toString config.hardware.ipu6.videoDeviceNumber} > "$V4L2_DEVICE_FILE" ''; }; }