From 9978ea36f4e4c28ac15cd319fdcf9a03caeb82a7 Mon Sep 17 00:00:00 2001 From: Thierry Pouplier Date: Sun, 14 Jun 2026 00:56:31 -0400 Subject: [PATCH] fix: disable libcamera in pipewire via mesonFlags for both pkgs and rpi --- flake.lock | 126 ++++++++++++++++++++++++++- flake.nix | 19 ++++ hosts/uconsole-cm5/configuration.nix | 9 +- 3 files changed, 145 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e78ed64..a79a68f 100644 --- a/flake.lock +++ b/flake.lock @@ -23,6 +23,22 @@ "type": "github" } }, + "argononed": { + "flake": false, + "locked": { + "lastModified": 1729566243, + "narHash": "sha256-DPNI0Dpk5aym3Baf5UbEe5GENDrSmmXVdriRSWE+rgk=", + "owner": "nvmd", + "repo": "argononed", + "rev": "16dbee54d49b66d5654d228d1061246b440ef7cf", + "type": "github" + }, + "original": { + "owner": "nvmd", + "repo": "argononed", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -37,6 +53,21 @@ "url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz" } }, + "flake-compat_2": { + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -144,6 +175,80 @@ "type": "github" } }, + "nixos-images": { + "inputs": { + "nixos-stable": [ + "nixos-raspberrypi", + "nixpkgs" + ], + "nixos-unstable": [ + "nixos-raspberrypi", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747747741, + "narHash": "sha256-LUOH27unNWbGTvZFitHonraNx0JF/55h30r9WxqrznM=", + "owner": "nvmd", + "repo": "nixos-images", + "rev": "cbbd6db325775096680b65e2a32fb6187c09bbb4", + "type": "github" + }, + "original": { + "owner": "nvmd", + "ref": "sdimage-installer", + "repo": "nixos-images", + "type": "github" + } + }, + "nixos-raspberrypi": { + "inputs": { + "argononed": "argononed", + "flake-compat": "flake-compat_2", + "nixos-images": "nixos-images", + "nixpkgs": [ + "nixpkgs-uconsole" + ] + }, + "locked": { + "lastModified": 1781324200, + "narHash": "sha256-JWqxN2Yle86+4Q+GFh12SvB92ZyLeqalVsN9lfMh6eQ=", + "owner": "gortium", + "repo": "nixos-raspberrypi", + "rev": "721a6e9e67dca3a23133db650b87018646bca3e6", + "type": "github" + }, + "original": { + "owner": "gortium", + "ref": "cm5-cross-v1", + "repo": "nixos-raspberrypi", + "type": "github" + } + }, + "nixos-uconsole": { + "inputs": { + "nixos-raspberrypi": [ + "nixos-raspberrypi" + ], + "nixpkgs": [ + "nixpkgs-uconsole" + ] + }, + "locked": { + "lastModified": 1781406889, + "narHash": "sha256-cUD2zvOgHMMjIn4wd4dvpW2GZtCFWtUS+7CPrzQwpPA=", + "owner": "gortium", + "repo": "nixos-uconsole", + "rev": "b556f9315358dbd53bf868cc24e5872ee15763d8", + "type": "github" + }, + "original": { + "owner": "gortium", + "ref": "cm5_fix", + "repo": "nixos-uconsole", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1705033721, @@ -176,6 +281,22 @@ "type": "github" } }, + "nixpkgs-uconsole": { + "locked": { + "lastModified": 1780952837, + "narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1774386573, @@ -212,7 +333,10 @@ "inputs": { "agenix": "agenix", "lix": "lix", - "nixpkgs": "nixpkgs_2" + "nixos-raspberrypi": "nixos-raspberrypi", + "nixos-uconsole": "nixos-uconsole", + "nixpkgs": "nixpkgs_2", + "nixpkgs-uconsole": "nixpkgs-uconsole" } }, "systems": { diff --git a/flake.nix b/flake.nix index 5bde76e..a7c321e 100644 --- a/flake.nix +++ b/flake.nix @@ -99,8 +99,27 @@ nixpkgs.hostPlatform = "aarch64-linux"; nixpkgs.config.allowUnfree = true; boot.loader.raspberry-pi.bootloader = "kernel"; + # Kill camera packages — not needed on uConsole, break cross-compile + nixpkgs.overlays = [ + (final: prev: { + pipewire = prev.pipewire.overrideAttrs (old: { + mesonFlags = old.mesonFlags ++ [ "-Dlibcamera=disabled" ]; + }); + }) + ]; } nixos-raspberrypi.nixosModules.nixpkgs-rpi + # Disable libcamera in rpi pipewire too (separate nixpkgs instance) + ({ config, lib, pkgs, ... }: { + nixpkgs.overlays = [ + (final: prev: { + pipewire = prev.pipewire.overrideAttrs (old: { + mesonFlags = old.mesonFlags ++ [ "-Dlibcamera=disabled" ]; + }); + }) + ]; + }) + # Patches are now in gortium/nixos-uconsole fork (cm5_fix branch) nixos-raspberrypi.nixosModules.raspberry-pi-5.base nixos-raspberrypi.lib.inject-overlays diff --git a/hosts/uconsole-cm5/configuration.nix b/hosts/uconsole-cm5/configuration.nix index c7beb18..5ac7b1b 100644 --- a/hosts/uconsole-cm5/configuration.nix +++ b/hosts/uconsole-cm5/configuration.nix @@ -32,12 +32,5 @@ xwayland.enable = true; }; - # Force-disable libcamera in pipewire's SPA (fixes cross-compile — rpi-pisp subproject blocked) - nixpkgs.overlays = [ - (final: prev: { - pipewire = prev.pipewire.overrideAttrs (old: { - mesonFlags = old.mesonFlags ++ [ "-Dlibcamera=disabled" ]; - }); - }) - ]; + }