diff --git a/microsoft/surface/kernel/default.nix b/microsoft/surface/kernel/default.nix index 354fe90..1a1ca6b 100644 --- a/microsoft/surface/kernel/default.nix +++ b/microsoft/surface/kernel/default.nix @@ -1,5 +1,37 @@ -{ config, lib, pkgs, ... }: +{ lib, + buildLinux, + callPackage, + linuxPackagesFor, + ... +}: -{ - boot.kernelPackages = pkgs.callPackage ./linux-5.16.11.nix { }; +# To test the kernel build: +# nix-build -E "with import {}; (pkgs.callPackage ./. {}).kernel" + +let + inherit (lib) kernel recurseIntoAttrs; + repos = callPackage ../repos.nix {}; + + linuxPackage = + { version, + modDirVersion ? version, + branch, + src, + kernelPatches ? [], + ... + }: let + buildLinux' = buildLinux { + inherit version src kernelPatches; + modDirVersion = version; + extraMeta.branch = branch; + }; + linuxPackagesFor' = (linuxPackagesFor buildLinux'); + in recurseIntoAttrs linuxPackagesFor'; + + linux-5_16_11 = linuxPackage ( + callPackage ./linux-5.16.11.nix { inherit repos; } + ); + +in { + boot.kernelPackages = linux-5_16_11; }