feat(users/flokli/ipu6-softisp): provide example closure
This introduces a NixOS configuration using config.nix as a NixOS module, and also checks the firmware is present in the location it's expected to. Change-Id: I3ec4333d73fe1b28e10c589c1cf351c59372bb99 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11099 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
525388fde7
commit
c499e424d8
1 changed files with 50 additions and 0 deletions
50
users/flokli/ipu6-softisp/default.nix
Normal file
50
users/flokli/ipu6-softisp/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# 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";
|
||||||
|
};
|
||||||
|
# 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
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue