|
10 | 10 | mkDefault |
11 | 11 | mkOption |
12 | 12 | types |
13 | | - versions |
14 | 13 | ; |
15 | 14 |
|
16 | | - # Set the version and hash for the kernel sources |
17 | | - srcVersion = |
18 | | - with config.hardware.microsoft-surface; |
19 | | - if kernelVersion == "longterm" then |
20 | | - "6.12.19" |
21 | | - else if kernelVersion == "stable" then |
22 | | - "6.15.9" |
23 | | - else |
24 | | - abort "Invalid kernel version: ${kernelVersion}"; |
25 | | - |
26 | | - srcHash = |
27 | | - with config.hardware.microsoft-surface; |
28 | | - if kernelVersion == "longterm" then |
29 | | - "sha256-1zvwV77ARDSxadG2FkGTb30Ml865I6KB8y413U3MZTE=" |
30 | | - else if kernelVersion == "stable" then |
31 | | - "sha256-6U86+FSSMC96gZRBRY+AvKCtmRLlpMg8aZ/zxjxSlX0=" |
32 | | - else |
33 | | - abort "Invalid kernel version: ${kernelVersion}"; |
34 | | - |
35 | | - # Set the version and hash for the linux-surface releases |
36 | | - pkgVersion = |
37 | | - with config.hardware.microsoft-surface; |
38 | | - if kernelVersion == "longterm" then |
39 | | - "6.12.7" |
40 | | - else if kernelVersion == "stable" then |
41 | | - "6.15.3" |
42 | | - else |
43 | | - abort "Invalid kernel version: ${kernelVersion}"; |
44 | | - |
45 | | - pkgHash = |
46 | | - with config.hardware.microsoft-surface; |
47 | | - if kernelVersion == "longterm" then |
48 | | - "sha256-Pv7O8D8ma+MPLhYP3HSGQki+Yczp8b7d63qMb6l4+mY=" |
49 | | - else if kernelVersion == "stable" then |
50 | | - "sha256-ozvYrZDiVtMkdCcVnNEdlF2Kdw4jivW0aMJrDynN3Hk=" |
51 | | - else |
52 | | - abort "Invalid kernel version: ${kernelVersion}"; |
53 | | - |
54 | | - # Fetch the linux-surface package |
55 | | - repos = |
56 | | - pkgs.callPackage |
57 | | - ( |
58 | | - { |
59 | | - fetchFromGitHub, |
60 | | - rev, |
61 | | - hash, |
62 | | - }: |
63 | | - { |
64 | | - linux-surface = fetchFromGitHub { |
65 | | - owner = "linux-surface"; |
66 | | - repo = "linux-surface"; |
67 | | - rev = rev; |
68 | | - hash = hash; |
69 | | - }; |
70 | | - } |
71 | | - ) |
72 | | - { |
73 | | - hash = pkgHash; |
74 | | - rev = "arch-${pkgVersion}-1"; |
75 | | - }; |
76 | | - |
77 | | - # Fetch and build the kernel package |
78 | | - inherit (pkgs.callPackage ./kernel/linux-package.nix { inherit repos; }) |
79 | | - linuxPackage |
80 | | - surfacePatches |
81 | | - ; |
82 | | - kernelPatches = surfacePatches { |
83 | | - version = pkgVersion; |
84 | | - patchFn = ./kernel/${versions.majorMinor pkgVersion}/patches.nix; |
85 | | - patchSrc = (repos.linux-surface + "/patches/${versions.majorMinor pkgVersion}"); |
86 | | - }; |
87 | | - kernelPackages = linuxPackage { |
88 | | - inherit kernelPatches; |
89 | | - version = srcVersion; |
90 | | - sha256 = srcHash; |
91 | | - ignoreConfigErrors = true; |
| 15 | + kernelPackages = pkgs.callPackage ../pkgs/kernel { |
| 16 | + inherit (config.hardware.microsoft-surface) kernelVersion; |
92 | 17 | }; |
93 | 18 |
|
94 | 19 | in |
|
0 commit comments