{ inputs, lib, pkgs, ... }: let linux_x13s_pkg = { version, buildLinux, ... }@args: buildLinux ( args // { modDirVersion = version; structuredExtraConfig = with lib.kernel; { MODULE_COMPRESS = yes; MODULE_COMPRESS_ALL = yes; MODULE_COMPRESS_XZ = yes; }; extraMeta.branch = lib.versions.majorMinor version; } ); in { linux_jhovold = pkgs.callPackage linux_x13s_pkg { src = inputs.linux-jhovold; version = let lock = builtins.fromJSON (builtins.readFile ../flake.lock); original = builtins.elemAt (builtins.tail (builtins.split "xp-" lock.nodes.linux-jhovold.original.ref)) 1; modVersion = lib.versions.pad 3 original; in modVersion; defconfig = "johan_defconfig"; }; graphics-firmware = let gpu-src = pkgs.fetchurl { url = "https://download.lenovo.com/pccbbs/mobiles/n3hdr20w.exe"; hash = "sha256-Jwyl9uKOnjpwfHd+VaGHjYs9x8cUuRdFCERuXqaJwEY="; }; in pkgs.runCommand "graphics-firmware" { } '' mkdir -vp "$out/lib/firmware/qcom/sc8280xp/LENOVO/21BX" ${lib.getExe pkgs.innoextract} ${gpu-src} cp -v code\$GetExtractPath\$/*/*.mbn "$out/lib/firmware/qcom/sc8280xp/LENOVO/21BX/" ''; }