diff --git a/hosts/pinwheel/modules/webcam/default.nix b/hosts/pinwheel/modules/webcam/default.nix new file mode 100644 index 0000000..5a658b5 --- /dev/null +++ b/hosts/pinwheel/modules/webcam/default.nix @@ -0,0 +1,34 @@ +{ ... }: +{ + 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"; + }; +}