Refactors the kernel package to a generic one and adds support for the
lts kernel. Since nixpkgs' kernel packages provide the `kernelPatches`
override, utilizing that ensures that kernel updates are not delayed
too much due to having to PR them to nixos-hardware separately.
This comes at the expense of possible breakage when upstream updates
something that breaks the patches.
Because the T2 Linux project has a lot of patches which changes
periodically, including them in the repository directly is a maintenance
burden. Instead, this patch comes with an update script and JSON files
containing all of the patches to be downloaded (by fetchurl) and
applied.
The NixOS option to enable changing release versions will be added in
the next commit.
* Adds a deprecation warning to hardware.apple-t2.enableTinyDfr as it has
been upstreamed to nixpkgs already. The package and option can be
removed at the next release cycle to hopefully not break people's setup.
* Adds an assertion to conflict hardware.apple-t2.enableTinyDfr with
hardware.apple.touchBar. Having both enabled causes both tiny-dfr to
fight for the same display device.