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