tvl-depot/users/flokli/ipu6-softisp/default.nix
Florian Klink 622efa86fa feat(users/flokli/ipu6-softisp): test pipewire & wireplumber
This ensures we also test building pipewire.

Change-Id: I7527ca2e4259f26fecd453f5da5d91bbd3862bb3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11178
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-03-19 06:59:52 +00:00

57 lines
1.7 KiB
Nix

# This file ensures the fixes from ./config.nix build with the version of
# nixpkgs from depot.
# If you're an outside user of this, import config.nix as a NixOS module (and
# check the README.md file).
{ depot
, pkgs
, ...
}:
let
systemFor = sys: (depot.ops.nixos.nixosFor sys).system;
in
depot.nix.readTree.drvTargets rec {
testSystem = systemFor ({ modulesPath, pkgs, ... }: {
imports = [
# Import the module, this is something a user would do in their config.
./config.nix
];
# Make sure we use the linuxPackages_latest.
boot.kernelPackages = pkgs.linuxPackages_latest;
# Enable firmware.
hardware.enableAllFirmware = true;
# Set some options necessary to evaluate.
boot.loader.systemd-boot.enable = true;
fileSystems."/" = {
device = "/dev/disk/by-partlabel/root";
fsType = "xfs";
};
# Enable pipewire and wireplumber.
services.pipewire = {
enable = true;
wireplumber.enable = true;
};
# Shut off the warning.
system.stateVersion = "24.05";
});
# Make sure the firmware requested by the driver is present in our firmware.
# We do have a .xz suffix here, but that's fine, since request_firmware does
# check ${name}.xz too in case CONFIG_FW_LOADER_COMPRESS is set.
# The path needs to be kept in sync with the ones used in the kernel patch.
checkFirmware = pkgs.runCommand "check-firmware" { } ''
stat ${testSystem}/firmware/intel/ipu/ipu6se_fw.bin.xz
stat ${testSystem}/firmware/intel/ipu/ipu6ep_fw.bin.xz
stat ${testSystem}/firmware/intel/ipu/ipu6_fw.bin.xz
stat ${testSystem}/firmware/intel/ipu/ipu6epmtl_fw.bin.xz
# all good, succeed build
touch $out
'';
}