nixos-x13s/packages/default.nix

56 lines
1.5 KiB
Nix

{
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;
ignoreConfigErrors = true;
}
);
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/"
'';
bluetooth-firmware = pkgs.runCommand "x13s-bluetooth-firmware" { } ''
mkdir -p $out/lib/firmware/qca
cp -v ${inputs.x13s-bt-linux-firmware}/qca/{hpnv21.b8c,hpnv21g.b8c} $out/lib/firmware/qca/
'';
}