lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

top-level: move linux kernels, packages and related functions to linux-kernels.nix

+638 -521
+1 -1
nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
··· 93 93 boot.initrd.availableKernelModules = 94 94 [ "vfat" "reiserfs" ]; 95 95 96 - boot.kernelPackages = pkgs.linuxPackages_3_10; 96 + boot.kernelPackages = pkgs.linuxKernel.packages.linux_3_10; 97 97 boot.kernelParams = [ "console=tty1" ]; 98 98 99 99 boot.postBootCommands =
+1 -1
nixos/modules/installer/cd-dvd/system-tarball-pc.nix
··· 114 114 # To be able to use the systemTarball to catch troubles. 115 115 boot.crashDump = { 116 116 enable = true; 117 - kernelPackages = pkgs.linuxPackages_3_4; 117 + kernelPackages = pkgs.linuxKernel.packages.linux_3_4; 118 118 }; 119 119 120 120 # No grub for the tarball.
+1 -1
nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
··· 111 111 # "console=ttyS0,115200n8" # serial console 112 112 ]; 113 113 114 - boot.kernelPackages = pkgs.linuxPackages_3_4; 114 + boot.kernelPackages = pkgs.linuxKernel.packages.linux_3_4; 115 115 116 116 boot.supportedFilesystems = [ "reiserfs" ]; 117 117
+1 -1
nixos/modules/installer/sd-card/sd-image-raspberrypi.nix
··· 12 12 boot.loader.generic-extlinux-compatible.enable = true; 13 13 14 14 boot.consoleLogLevel = lib.mkDefault 7; 15 - boot.kernelPackages = pkgs.linuxPackages_rpi1; 15 + boot.kernelPackages = pkgs.linuxKernel.packages.linux_rpi1; 16 16 17 17 sdImage = { 18 18 populateFirmwareCommands = let
+1 -1
nixos/modules/system/boot/kernel.nix
··· 47 47 # We don't want to evaluate all of linuxPackages for the manual 48 48 # - some of it might not even evaluate correctly. 49 49 defaultText = "pkgs.linuxPackages"; 50 - example = literalExample "pkgs.linuxPackages_2_6_25"; 50 + example = literalExample "pkgs.linuxKernel.packages.linux_5_10"; 51 51 description = '' 52 52 This option allows you to override the Linux kernel used by 53 53 NixOS. Since things like external kernel module packages are
+10 -8
nixos/tests/kernel-generic.nix
··· 23 23 assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a") 24 24 ''; 25 25 }) args); 26 + 27 + packages = pkgs.linuxKernel.packages; 26 28 in 27 29 with pkgs; { 28 - linux_4_4 = makeKernelTest "4.4" linuxPackages_4_4; 29 - linux_4_9 = makeKernelTest "4.9" linuxPackages_4_9; 30 - linux_4_14 = makeKernelTest "4.14" linuxPackages_4_14; 31 - linux_4_19 = makeKernelTest "4.19" linuxPackages_4_19; 32 - linux_5_4 = makeKernelTest "5.4" linuxPackages_5_4; 33 - linux_5_10 = makeKernelTest "5.10" linuxPackages_5_10; 34 - linux_5_12 = makeKernelTest "5.12" linuxPackages_5_12; 35 - linux_5_13 = makeKernelTest "5.13" linuxPackages_5_13; 30 + linux_4_4 = makeKernelTest "4.4" packages.linux_4_4; 31 + linux_4_9 = makeKernelTest "4.9" packages.linux_4_9; 32 + linux_4_14 = makeKernelTest "4.14" packages.linux_4_14; 33 + linux_4_19 = makeKernelTest "4.19" packages.linux_4_19; 34 + linux_5_4 = makeKernelTest "5.4" packages.linux_5_4; 35 + linux_5_10 = makeKernelTest "5.10" packages.linux_5_10; 36 + linux_5_12 = makeKernelTest "5.12" packages.linux_5_12; 37 + linux_5_13 = makeKernelTest "5.13" packages.linux_5_13; 36 38 37 39 linux_testing = makeKernelTest "testing" linuxPackages_testing; 38 40 }
+2 -2
pkgs/os-specific/linux/zfs/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub 1 + { pkgs, lib, stdenv, fetchFromGitHub 2 2 , autoreconfHook269, util-linux, nukeReferences, coreutils 3 3 , perl, nixosTests 4 4 , configFile ? "all" ··· 16 16 , enablePython ? true 17 17 18 18 # for determining the latest compatible linuxPackages 19 - , linuxPackages_5_13 19 + , linuxPackages_5_13 ? pkgs.linuxKernel.packages.linux_5_13 20 20 }: 21 21 22 22 with lib;
+34 -2
pkgs/top-level/aliases.nix
··· 435 435 libwnck3 = libwnck; 436 436 lilypond-unstable = lilypond; # added 2021-03-11 437 437 links = links2; # added 2016-01-31 438 - linux_rpi0 = linux_rpi1; 439 - linuxPackages_rpi0 = linuxPackages_rpi1; 438 + linux_rpi0 = linuxKernel.kernels.linux_rpi1; 439 + linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1; 440 + linuxPackages_rt_5_4 = linuxKernel.packages.linux_rt_5_4; 441 + linuxPackages_rt_5_10 = linuxKernel.packages.linux_rt_5_10; 442 + linuxPackages_rt_5_11 = linuxKernel.packages.linux_rt_5_11; 443 + linuxPackages_rpi1 = linuxKernel.packages.linux_rpi1; 444 + linuxPackages_rpi2 = linuxKernel.packages.linux_rpi2; 445 + linuxPackages_rpi3 = linuxKernel.packages.linux_rpi3; 446 + linuxPackages_rpi4 = linuxKernel.packages.linux_rpi4; 447 + linuxPackages_4_4 = linuxKernel.packages.linux_4_4; 448 + linuxPackages_4_9 = linuxKernel.packages.linux_4_9; 449 + linuxPackages_4_14 = linuxKernel.packages.linux_4_14; 450 + linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14; 451 + linuxPackages_4_19 = linuxKernel.packages.linux_4_19; 452 + linuxPackages_5_4 = linuxKernel.packages.linux_5_4; 453 + linuxPackages_5_10 = linuxKernel.packages.linux_5_10; 454 + linuxPackages_5_12 = linuxKernel.packages.linux_5_12; 455 + linuxPackages_5_13 = linuxKernel.packages.linux_5_13; 456 + 457 + linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95; 458 + linux_rpi1 = linuxKernel.kernels.linux_rpi1; 459 + linux_rpi2 = linuxKernel.kernels.linux_rpi2; 460 + linux_rpi3 = linuxKernel.kernels.linux_rpi3; 461 + linux_rpi4 = linuxKernel.kernels.linux_rpi4; 462 + linux_4_4 = linuxKernel.kernels.linux_4_4; 463 + linux_4_9 = linuxKernel.kernels.linux_4_9; 464 + linux_4_14 = linuxKernel.kernels.linux_4_14; 465 + linux_4_19 = linuxKernel.kernels.linux_4_19; 466 + linux_5_4 = linuxKernel.kernels.linux_5_4; 467 + linux-rt_5_4 = linuxKernel.kernels.linux_rt_5_4; 468 + linux_5_10 = linuxKernel.kernels.linux_5_10; 469 + linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10; 470 + linux_5_12 = linuxKernel.kernels.linux_5_12; 471 + linux-rt_5_11 = linuxKernel.kernels.linux_rt_5_11; 440 472 441 473 # added 2020-04-04 442 474 linuxPackages_testing_hardened = throw "linuxPackages_testing_hardened has been removed, please use linuxPackages_latest_hardened";
+41 -504
pkgs/top-level/all-packages.nix
··· 21045 21045 21046 21046 tgt = callPackage ../tools/networking/tgt { }; 21047 21047 21048 - # -- Linux kernel expressions ------------------------------------------------ 21049 - 21050 21048 lkl = callPackage ../applications/virtualization/lkl { }; 21051 21049 21052 21050 inherit (callPackages ../os-specific/linux/kernel-headers { }) 21053 21051 linuxHeaders makeLinuxHeaders; 21054 21052 21055 - kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; 21056 - 21057 21053 klibc = callPackage ../os-specific/linux/klibc { }; 21058 21054 21059 21055 klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { }); 21060 21056 21061 - linux_mptcp = linux_mptcp_95; 21057 + linuxKernel = recurseIntoAttrs (callPackage ./linux-kernels.nix { }); 21062 21058 21063 - linux_mptcp_95 = callPackage ../os-specific/linux/kernel/linux-mptcp-95.nix { 21064 - kernelPatches = linux_4_19.kernelPatches; 21065 - }; 21059 + inherit (linuxKernel) buildLinux linuxConfig kernelPatches; 21066 21060 21067 - linux_rpi1 = callPackage ../os-specific/linux/kernel/linux-rpi.nix { 21068 - kernelPatches = with kernelPatches; [ 21069 - bridge_stp_helper 21070 - request_key_helper 21071 - ]; 21072 - rpiVersion = 1; 21073 - }; 21061 + linuxPackagesFor = linuxKernel.packagesFor; 21074 21062 21075 - linux_rpi2 = callPackage ../os-specific/linux/kernel/linux-rpi.nix { 21076 - kernelPatches = with kernelPatches; [ 21077 - bridge_stp_helper 21078 - request_key_helper 21079 - ]; 21080 - rpiVersion = 2; 21081 - }; 21063 + hardenedLinuxPackagesFor = linuxKernel.hardenedPackagesFor; 21082 21064 21083 - linux_rpi3 = callPackage ../os-specific/linux/kernel/linux-rpi.nix { 21084 - kernelPatches = with kernelPatches; [ 21085 - bridge_stp_helper 21086 - request_key_helper 21087 - ]; 21088 - rpiVersion = 3; 21089 - }; 21065 + linuxManualConfig = linuxKernel.manualConfig; 21090 21066 21091 - linux_rpi4 = callPackage ../os-specific/linux/kernel/linux-rpi.nix { 21092 - kernelPatches = with kernelPatches; [ 21093 - bridge_stp_helper 21094 - request_key_helper 21095 - ]; 21096 - rpiVersion = 4; 21097 - }; 21098 - 21099 - linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix { 21100 - kernelPatches = 21101 - [ kernelPatches.bridge_stp_helper 21102 - kernelPatches.request_key_helper_updated 21103 - kernelPatches.cpu-cgroup-v2."4.4" 21104 - kernelPatches.modinst_arg_list_too_long 21105 - ]; 21106 - }; 21107 - 21108 - linux_4_9 = callPackage ../os-specific/linux/kernel/linux-4.9.nix { 21109 - kernelPatches = 21110 - [ kernelPatches.bridge_stp_helper 21111 - kernelPatches.request_key_helper_updated 21112 - kernelPatches.cpu-cgroup-v2."4.9" 21113 - kernelPatches.modinst_arg_list_too_long 21114 - ]; 21115 - }; 21116 - 21117 - linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix { 21118 - kernelPatches = 21119 - [ kernelPatches.bridge_stp_helper 21120 - kernelPatches.request_key_helper 21121 - # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md 21122 - # when adding a new linux version 21123 - kernelPatches.cpu-cgroup-v2."4.11" 21124 - kernelPatches.modinst_arg_list_too_long 21125 - ]; 21126 - }; 21127 - 21128 - linux_4_19 = callPackage ../os-specific/linux/kernel/linux-4.19.nix { 21129 - kernelPatches = 21130 - [ kernelPatches.bridge_stp_helper 21131 - kernelPatches.request_key_helper 21132 - kernelPatches.modinst_arg_list_too_long 21133 - ]; 21134 - }; 21135 - 21136 - linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix { 21137 - kernelPatches = [ 21138 - kernelPatches.bridge_stp_helper 21139 - kernelPatches.request_key_helper 21140 - kernelPatches.rtl8761b_support 21141 - ]; 21142 - }; 21143 - 21144 - linux-rt_5_4 = callPackage ../os-specific/linux/kernel/linux-rt-5.4.nix { 21145 - kernelPatches = [ 21146 - kernelPatches.bridge_stp_helper 21147 - kernelPatches.request_key_helper 21148 - ]; 21149 - }; 21150 - 21151 - linux_5_10 = callPackage ../os-specific/linux/kernel/linux-5.10.nix { 21152 - kernelPatches = [ 21153 - kernelPatches.bridge_stp_helper 21154 - kernelPatches.request_key_helper 21155 - ]; 21156 - }; 21157 - 21158 - linux_5_12 = callPackage ../os-specific/linux/kernel/linux-5.12.nix { 21159 - kernelPatches = [ 21160 - kernelPatches.bridge_stp_helper 21161 - kernelPatches.request_key_helper 21162 - ]; 21163 - }; 21164 - 21165 - linux_5_13 = callPackage ../os-specific/linux/kernel/linux-5.13.nix { 21166 - kernelPatches = [ 21167 - kernelPatches.bridge_stp_helper 21168 - kernelPatches.request_key_helper 21169 - ]; 21170 - }; 21171 - 21172 - linux-rt_5_10 = callPackage ../os-specific/linux/kernel/linux-rt-5.10.nix { 21173 - kernelPatches = [ 21174 - kernelPatches.bridge_stp_helper 21175 - kernelPatches.request_key_helper 21176 - kernelPatches.export-rt-sched-migrate 21177 - ]; 21178 - }; 21179 - 21180 - linux-rt_5_11 = callPackage ../os-specific/linux/kernel/linux-rt-5.11.nix { 21181 - kernelPatches = [ 21182 - kernelPatches.bridge_stp_helper 21183 - kernelPatches.request_key_helper 21184 - kernelPatches.export-rt-sched-migrate 21185 - ]; 21186 - }; 21187 - 21188 - linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { 21189 - kernelPatches = [ 21190 - kernelPatches.bridge_stp_helper 21191 - kernelPatches.request_key_helper 21192 - ]; 21193 - }; 21194 - 21195 - linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix rec { 21196 - kernel = linux_5_13; 21197 - kernelPatches = kernel.kernelPatches; 21198 - }; 21199 - 21200 - linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix { 21201 - kernelPatches = [ 21202 - kernelPatches.bridge_stp_helper 21203 - kernelPatches.request_key_helper 21204 - kernelPatches.modinst_arg_list_too_long 21205 - ]; 21206 - }; 21207 - 21208 - linux_zen = callPackage ../os-specific/linux/kernel/linux-zen.nix { 21209 - kernelPatches = [ 21210 - kernelPatches.bridge_stp_helper 21211 - kernelPatches.request_key_helper 21212 - ]; 21213 - }; 21214 - 21215 - linux_lqx = callPackage ../os-specific/linux/kernel/linux-lqx.nix { 21216 - kernelPatches = [ 21217 - kernelPatches.bridge_stp_helper 21218 - kernelPatches.request_key_helper 21219 - ]; 21220 - }; 21221 - 21222 - linux_xanmod = callPackage ../os-specific/linux/kernel/linux-xanmod.nix { 21223 - kernelPatches = [ 21224 - kernelPatches.bridge_stp_helper 21225 - kernelPatches.request_key_helper 21226 - ]; 21227 - }; 21228 - 21229 - /* Linux kernel modules are inherently tied to a specific kernel. So 21230 - rather than provide specific instances of those packages for a 21231 - specific kernel, we have a function that builds those packages 21232 - for a specific kernel. This function can then be called for 21233 - whatever kernel you're using. */ 21234 - 21235 - linuxPackagesFor = kernel_: lib.makeExtensible (self: with self; { 21236 - callPackage = newScope self; 21237 - 21238 - kernel = kernel_; 21239 - inherit (kernel) stdenv; # in particular, use the same compiler by default 21240 - 21241 - # to help determine module compatibility 21242 - inherit (kernel) isZen isHardened isLibre; 21243 - inherit (kernel) kernelOlder kernelAtLeast; 21244 - 21245 - # Obsolete aliases (these packages do not depend on the kernel). 21246 - inherit (pkgs) odp-dpdk pktgen; # added 2018-05 21247 - 21248 - acpi_call = callPackage ../os-specific/linux/acpi-call {}; 21249 - 21250 - akvcam = callPackage ../os-specific/linux/akvcam { 21251 - inherit (qt5) qmake; 21252 - }; 21253 - 21254 - amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro { }; 21255 - 21256 - anbox = callPackage ../os-specific/linux/anbox/kmod.nix { }; 21257 - 21258 - apfs = callPackage ../os-specific/linux/apfs { }; 21259 - 21260 - batman_adv = callPackage ../os-specific/linux/batman-adv {}; 21261 - 21262 - bcc = callPackage ../os-specific/linux/bcc { 21263 - python = python3; 21264 - }; 21265 - 21266 - bpftrace = callPackage ../os-specific/linux/bpftrace { }; 21267 - 21268 - bbswitch = callPackage ../os-specific/linux/bbswitch {}; 21269 - 21270 - chipsec = callPackage ../tools/security/chipsec { 21271 - inherit kernel; 21272 - withDriver = true; 21273 - }; 21274 - 21275 - cryptodev = callPackage ../os-specific/linux/cryptodev { }; 21276 - 21277 - cpupower = callPackage ../os-specific/linux/cpupower { }; 21278 - 21279 - ddcci-driver = callPackage ../os-specific/linux/ddcci { }; 21280 - 21281 - digimend = callPackage ../os-specific/linux/digimend { }; 21282 - 21283 - dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { }; 21284 - 21285 - exfat-nofuse = callPackage ../os-specific/linux/exfat { }; 21286 - 21287 - evdi = callPackage ../os-specific/linux/evdi { }; 21288 - 21289 - fwts-efi-runtime = callPackage ../os-specific/linux/fwts/module.nix { }; 21290 - 21291 - gcadapter-oc-kmod = callPackage ../os-specific/linux/gcadapter-oc-kmod { }; 21292 - 21293 - hid-nintendo = callPackage ../os-specific/linux/hid-nintendo { }; 21294 - 21295 - hyperv-daemons = callPackage ../os-specific/linux/hyperv-daemons { }; 21296 - 21297 - e1000e = if lib.versionOlder kernel.version "4.10" then callPackage ../os-specific/linux/e1000e {} else null; 21298 - 21299 - intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null; 21300 - 21301 - ixgbevf = callPackage ../os-specific/linux/ixgbevf {}; 21302 - 21303 - it87 = callPackage ../os-specific/linux/it87 {}; 21304 - 21305 - asus-wmi-sensors = callPackage ../os-specific/linux/asus-wmi-sensors {}; 21306 - 21307 - ena = callPackage ../os-specific/linux/ena {}; 21308 - 21309 - v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; 21310 - 21311 - lttng-modules = callPackage ../os-specific/linux/lttng-modules { }; 21312 - 21313 - broadcom_sta = callPackage ../os-specific/linux/broadcom-sta { }; 21314 - 21315 - tbs = callPackage ../os-specific/linux/tbs { }; 21316 - 21317 - mbp2018-bridge-drv = callPackage ../os-specific/linux/mbp-modules/mbp2018-bridge-drv { }; 21318 - 21319 - nvidiabl = callPackage ../os-specific/linux/nvidiabl { }; 21320 - 21321 - nvidiaPackages = dontRecurseIntoAttrs (callPackage ../os-specific/linux/nvidia-x11 { }); 21322 - 21323 - nvidia_x11_legacy340 = nvidiaPackages.legacy_340; 21324 - nvidia_x11_legacy390 = nvidiaPackages.legacy_390; 21325 - nvidia_x11_beta = nvidiaPackages.beta; 21326 - nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta; 21327 - nvidia_x11 = nvidiaPackages.stable; 21328 - 21329 - openrazer = callPackage ../os-specific/linux/openrazer/driver.nix { }; 21330 - 21331 - ply = callPackage ../os-specific/linux/ply { }; 21332 - 21333 - r8125 = callPackage ../os-specific/linux/r8125 { }; 21334 - 21335 - r8168 = callPackage ../os-specific/linux/r8168 { }; 21336 - 21337 - rtl8188eus-aircrack = callPackage ../os-specific/linux/rtl8188eus-aircrack { }; 21338 - 21339 - rtl8192eu = callPackage ../os-specific/linux/rtl8192eu { }; 21340 - 21341 - rtl8723bs = callPackage ../os-specific/linux/rtl8723bs { }; 21342 - 21343 - rtl8812au = callPackage ../os-specific/linux/rtl8812au { }; 21344 - 21345 - rtl8814au = callPackage ../os-specific/linux/rtl8814au { }; 21346 - 21347 - rtl88xxau-aircrack = callPackage ../os-specific/linux/rtl88xxau-aircrack { }; 21348 - 21349 - rtl8821au = callPackage ../os-specific/linux/rtl8821au { }; 21350 - 21351 - rtl8821ce = callPackage ../os-specific/linux/rtl8821ce { }; 21352 - 21353 - rtl88x2bu = callPackage ../os-specific/linux/rtl88x2bu { }; 21354 - 21355 - rtl8821cu = callPackage ../os-specific/linux/rtl8821cu { }; 21356 - 21357 - rtw88 = callPackage ../os-specific/linux/rtw88 { }; 21358 - rtlwifi_new = rtw88; 21359 - 21360 - rtw89 = callPackage ../os-specific/linux/rtw89 { }; 21361 - 21362 - openafs_1_8 = callPackage ../servers/openafs/1.8/module.nix { }; 21363 - openafs_1_9 = callPackage ../servers/openafs/1.9/module.nix { }; 21364 - # Current stable release; don't backport release updates! 21365 - openafs = openafs_1_8; 21366 - 21367 - facetimehd = callPackage ../os-specific/linux/facetimehd { }; 21368 - 21369 - tuxedo-keyboard = if lib.versionAtLeast kernel.version "4.14" then callPackage ../os-specific/linux/tuxedo-keyboard { } else null; 21370 - 21371 - jool = callPackage ../os-specific/linux/jool { }; 21372 - 21373 - kvmfr = callPackage ../os-specific/linux/kvmfr { }; 21374 - 21375 - mba6x_bl = callPackage ../os-specific/linux/mba6x_bl { }; 21376 - 21377 - mwprocapture = callPackage ../os-specific/linux/mwprocapture { }; 21378 - 21379 - mxu11x0 = callPackage ../os-specific/linux/mxu11x0 { }; 21380 - 21381 - # compiles but has to be integrated into the kernel somehow 21382 - # Let's have it uncommented and finish it.. 21383 - ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { }; 21384 - 21385 - netatop = callPackage ../os-specific/linux/netatop { }; 21386 - 21387 - oci-seccomp-bpf-hook = if lib.versionAtLeast kernel.version "5.4" then callPackage ../os-specific/linux/oci-seccomp-bpf-hook { } else null; 21388 - 21389 - perf = if lib.versionAtLeast kernel.version "3.12" then callPackage ../os-specific/linux/kernel/perf.nix { } else null; 21390 - 21391 - phc-intel = if lib.versionAtLeast kernel.version "4.10" then callPackage ../os-specific/linux/phc-intel { } else null; 21392 - 21393 - # Disable for kernels 4.15 and above due to compatibility issues 21394 - prl-tools = if lib.versionOlder kernel.version "4.15" then callPackage ../os-specific/linux/prl-tools { } else null; 21395 - 21396 - sch_cake = callPackage ../os-specific/linux/sch_cake { }; 21397 - 21398 - isgx = callPackage ../os-specific/linux/isgx { }; 21399 - 21400 - sysdig = callPackage ../os-specific/linux/sysdig {}; 21401 - 21402 - systemtap = callPackage ../development/tools/profiling/systemtap { }; 21403 - 21404 - system76 = callPackage ../os-specific/linux/system76 { }; 21405 - 21406 - system76-acpi = callPackage ../os-specific/linux/system76-acpi { }; 21407 - 21408 - system76-power = callPackage ../os-specific/linux/system76-power { }; 21409 - 21410 - system76-io = callPackage ../os-specific/linux/system76-io { }; 21411 - 21412 - tmon = callPackage ../os-specific/linux/tmon { }; 21413 - 21414 - tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; 21415 - 21416 - turbostat = callPackage ../os-specific/linux/turbostat { }; 21417 - 21418 - usbip = callPackage ../os-specific/linux/usbip { }; 21419 - 21420 - v86d = callPackage ../os-specific/linux/v86d { }; 21421 - 21422 - veikk-linux-driver = callPackage ../os-specific/linux/veikk-linux-driver { }; 21423 - 21424 - vendor-reset = callPackage ../os-specific/linux/vendor-reset { }; 21425 - 21426 - vhba = callPackage ../misc/emulators/cdemu/vhba.nix { }; 21427 - 21428 - virtualbox = callPackage ../os-specific/linux/virtualbox { 21429 - virtualbox = pkgs.virtualboxHardened; 21430 - }; 21431 - 21432 - virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { 21433 - virtualbox = pkgs.virtualboxHardened; 21434 - }; 21435 - 21436 - wireguard = if lib.versionOlder kernel.version "5.6" then callPackage ../os-specific/linux/wireguard { } else null; 21437 - 21438 - x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { }; 21439 - 21440 - xmm7360-pci = callPackage ../os-specific/linux/xmm7360-pci { }; 21441 - 21442 - xpadneo = callPackage ../os-specific/linux/xpadneo { }; 21443 - 21444 - zenpower = callPackage ../os-specific/linux/zenpower { }; 21445 - 21446 - inherit (callPackages ../os-specific/linux/zfs { 21447 - configFile = "kernel"; 21448 - inherit kernel; 21449 - }) zfsStable zfsUnstable; 21450 - zfs = zfsStable; 21451 - 21452 - can-isotp = callPackage ../os-specific/linux/can-isotp { }; 21453 - } // lib.optionalAttrs (config.allowAliases or false) { 21454 - # aliases or removed packages 21455 - ati_drivers_x11 = throw "ati drivers are no longer supported by any kernel >=4.1"; # added 2021-05-18 21456 - }); 21457 - 21458 - # The current default kernel / kernel modules. 21459 - linuxPackages = linuxPackages_5_10; 21460 - linux = linuxPackages.kernel; 21461 - 21462 - # Update this when adding the newest kernel major version! 21463 - # And update linux_latest_for_hardened below if the patches are already available 21464 - linuxPackages_latest = linuxPackages_5_13; 21465 - linux_latest = linuxPackages_latest.kernel; 21466 - 21467 - # Realtime kernel packages. 21468 - linuxPackages-rt_5_4 = linuxPackagesFor pkgs.linux-rt_5_4; 21469 - linuxPackages-rt_5_10 = linuxPackagesFor pkgs.linux-rt_5_10; 21470 - linuxPackages-rt_5_11 = linuxPackagesFor pkgs.linux-rt_5_11; 21471 - linuxPackages-rt = linuxPackages-rt_5_4; 21472 - linuxPackages-rt_latest = linuxPackages-rt_5_11; 21473 - linux-rt = linuxPackages-rt.kernel; 21474 - linux-rt_latest = linuxPackages-rt_latest.kernel; 21475 - 21476 - linuxPackages_mptcp = linuxPackagesFor pkgs.linux_mptcp; 21477 - linuxPackages_rpi1 = linuxPackagesFor pkgs.linux_rpi1; 21478 - linuxPackages_rpi2 = linuxPackagesFor pkgs.linux_rpi2; 21479 - linuxPackages_rpi3 = linuxPackagesFor pkgs.linux_rpi3; 21480 - linuxPackages_rpi4 = linuxPackagesFor pkgs.linux_rpi4; 21481 - # Build kernel modules for some of the kernels. 21482 - linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4); 21483 - linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9); 21484 - linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14); 21485 - linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19); 21486 - linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4); 21487 - linuxPackages_5_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_10); 21488 - linuxPackages_5_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_12); 21489 - linuxPackages_5_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_13); 21490 - 21491 - # When adding to the list above: 21492 - # - Update linuxPackages_latest to the latest version 21493 - # - Update the rev in ../os-specific/linux/kernel/linux-libre.nix to the latest one. 21494 - 21495 - # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds. 21496 - linuxPackages_testing = linuxPackagesFor pkgs.linux_testing; 21497 - 21498 - linuxPackages_custom = { version, src, configfile, allowImportFromDerivation ? true }: 21499 - recurseIntoAttrs (linuxPackagesFor (pkgs.linuxManualConfig { 21500 - inherit version src configfile lib stdenv allowImportFromDerivation; 21501 - })); 21067 + linuxPackages_custom = linuxKernel.customPackage; 21502 21068 21503 21069 # This serves as a test for linuxPackages_custom 21504 21070 linuxPackages_custom_tinyconfig_kernel = let 21505 21071 base = pkgs.linuxPackages.kernel; 21506 - tinyLinuxPackages = pkgs.linuxPackages_custom { 21072 + tinyLinuxPackages = linuxKernel.customPackage { 21507 21073 inherit (base) version src; 21508 21074 allowImportFromDerivation = false; 21509 21075 configfile = pkgs.linuxConfig { ··· 21513 21079 }; 21514 21080 in tinyLinuxPackages.kernel; 21515 21081 21516 - # Build a kernel with bcachefs module 21517 - linuxPackages_testing_bcachefs = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing_bcachefs); 21082 + # The current default kernel / kernel modules. 21083 + linuxPackages = linuxKernel.packageAliases.linux_default; 21084 + linux = linuxPackages.kernel; 21518 21085 21519 - # Hardened Linux 21520 - hardenedLinuxPackagesFor = kernel': overrides: 21521 - let # Note: We use this hack since the hardened patches can lag behind and we don't want to delay updates: 21522 - linux_latest_for_hardened = pkgs.linux_5_12; 21523 - kernel = (if kernel' == pkgs.linux_latest then linux_latest_for_hardened else kernel').override overrides; 21524 - in linuxPackagesFor (kernel.override { 21525 - structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix { 21526 - inherit lib; 21527 - inherit (kernel) version; 21528 - }; 21529 - kernelPatches = kernel.kernelPatches ++ [ 21530 - kernelPatches.hardened.${kernel.meta.branch} 21531 - ]; 21532 - modDirVersionArg = kernel.modDirVersion + (kernelPatches.hardened.${kernel.meta.branch}).extra; 21533 - isHardened = true; 21534 - }); 21086 + linuxPackages_latest = linuxKernel.packageAliases.linux_latest; 21087 + linux_latest = linuxPackages_latest.kernel; 21535 21088 21536 - linuxPackages_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux { }); 21537 - linux_hardened = linuxPackages_hardened.kernel; 21089 + # Testing (rc) kernel 21090 + linuxPackages_testing = linuxKernel.packages.linux_testing; 21091 + linux_testing = linuxKernel.kernels.linux_testing; 21538 21092 21539 - linuxPackages_latest_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest { }); 21093 + linuxPackages_testing_bcachefs = linuxKernel.packages.linux_testing_bcachefs; 21094 + linux_testing_bcachefs = linuxKernel.kernels.linux_testing_bcachefs; 21095 + 21096 + # kernel with mtcp support 21097 + linuxPackages_mptcp = linuxKernel.packageAliases.linux_mptcp; 21098 + linux_mptcp = linuxPackages_mptcp.kernel; 21099 + 21100 + # Realtime kernel 21101 + linuxPackages-rt = linuxKernel.packageAliases.linux_rt_default; 21102 + linuxPackages-rt_latest = linuxKernel.packageAliases.linux_rt_latest; 21103 + linux-rt = linuxPackages-rt.kernel; 21104 + linux-rt_latest = linuxPackages-rt_latest.kernel; 21105 + 21106 + # hardened kernels 21107 + linuxPackages_hardened = linuxKernel.packages.linux_hardened; 21108 + linux_hardened = linuxPackages_hardened.kernel; 21109 + linuxPackages_latest_hardened = linuxKernel.packages.linux_latest_hardened; 21540 21110 linux_latest_hardened = linuxPackages_latest_hardened.kernel; 21541 21111 21542 21112 # Hardkernel (Odroid) kernels. 21543 - linuxPackages_hardkernel_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_hardkernel_4_14); 21544 - linuxPackages_hardkernel_latest = linuxPackages_hardkernel_4_14; 21113 + linuxPackages_hardkernel_latest = linuxKernel.packageAliases.linux_hardkernel_latest; 21545 21114 linux_hardkernel_latest = linuxPackages_hardkernel_latest.kernel; 21546 21115 21547 21116 # GNU Linux-libre kernels 21548 - linuxPackages-libre = recurseIntoAttrs (linuxPackagesFor linux-libre); 21549 - linux-libre = callPackage ../os-specific/linux/kernel/linux-libre.nix {}; 21550 - linuxPackages_latest-libre = recurseIntoAttrs (linuxPackagesFor linux_latest-libre); 21551 - linux_latest-libre = linux-libre.override { linux = linux_latest; }; 21117 + linuxPackages-libre = linuxKernel.packages.linux_libre; 21118 + linux-libre = linuxPackages-libre.kernel; 21119 + linuxPackages_latest-libre = linuxKernel.packages.linux_latest_libre; 21120 + linux_latest-libre = linuxPackages_latest-libre.kernel; 21552 21121 21553 21122 # zen-kernel 21554 - linuxPackages_zen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_zen); 21555 - linuxPackages_lqx = recurseIntoAttrs (linuxPackagesFor pkgs.linux_lqx); 21123 + linuxPackages_zen = linuxKernel.packages.linux_zen; 21124 + linuxPackages_lqx = linuxKernel.packages.linux_lqx; 21556 21125 21557 21126 # XanMod kernel 21558 - linuxPackages_xanmod = recurseIntoAttrs (linuxPackagesFor pkgs.linux_xanmod); 21559 - 21560 - # A function to build a manually-configured kernel 21561 - linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {}); 21562 - 21563 - # Derive one of the default .config files 21564 - linuxConfig = { 21565 - src, 21566 - version ? (builtins.parseDrvName src.name).version, 21567 - makeTarget ? "defconfig", 21568 - name ? "kernel.config", 21569 - }: stdenvNoCC.mkDerivation { 21570 - inherit name src; 21571 - depsBuildBuild = [ buildPackages.stdenv.cc ] 21572 - ++ lib.optionals (lib.versionAtLeast version "4.16") [ buildPackages.bison buildPackages.flex ]; 21573 - postPatch = '' 21574 - patchShebangs scripts/ 21575 - ''; 21576 - buildPhase = '' 21577 - ( 21578 - set -x 21579 - make \ 21580 - ARCH=${stdenv.hostPlatform.linuxArch} \ 21581 - HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \ 21582 - ${makeTarget} 21583 - ) 21584 - ''; 21585 - installPhase = '' 21586 - cp .config $out 21587 - ''; 21588 - }; 21127 + linuxPackages_xanmod = linuxKernel.packages.linux_xanmod; 21589 21128 21590 - buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs; 21591 - 21592 - cryptodev = linuxPackages_4_9.cryptodev; 21129 + cryptodev = linuxKernel.packages.linux_4_9.cryptodev; 21593 21130 21594 21131 dpdk = callPackage ../os-specific/linux/dpdk { 21595 21132 kernel = null; # dpdk modules are in linuxPackages.dpdk.kmod
+546
pkgs/top-level/linux-kernels.nix
··· 1 + { pkgs 2 + , config 3 + , buildPackages 4 + , callPackage 5 + , makeOverridable 6 + , recurseIntoAttrs 7 + , dontRecurseIntoAttrs 8 + , stdenv 9 + , stdenvNoCC 10 + , newScope 11 + , lib 12 + }: 13 + 14 + # When adding a kernel: 15 + # - Update packageAliases.linux_latest to the latest version 16 + # - Update the rev in ../os-specific/linux/kernel/linux-libre.nix to the latest one. 17 + # - Update linux_latest_hardened when the patches become available 18 + 19 + let 20 + kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; 21 + 22 + deblobKernel = kernel: callPackage ../os-specific/linux/kernel/linux-libre.nix { 23 + linux = kernel; 24 + }; 25 + 26 + kernels = lib.makeExtensible (self: with self; 27 + let callPackage = newScope self; in { 28 + 29 + linux_mptcp_95 = callPackage ../os-specific/linux/kernel/linux-mptcp-95.nix { 30 + kernelPatches = linux_4_19.kernelPatches; 31 + }; 32 + 33 + linux_rpi1 = callPackage ../os-specific/linux/kernel/linux-rpi.nix { 34 + kernelPatches = with kernelPatches; [ 35 + bridge_stp_helper 36 + request_key_helper 37 + ]; 38 + rpiVersion = 1; 39 + }; 40 + 41 + linux_rpi2 = callPackage ../os-specific/linux/kernel/linux-rpi.nix { 42 + kernelPatches = with kernelPatches; [ 43 + bridge_stp_helper 44 + request_key_helper 45 + ]; 46 + rpiVersion = 2; 47 + }; 48 + 49 + linux_rpi3 = callPackage ../os-specific/linux/kernel/linux-rpi.nix { 50 + kernelPatches = with kernelPatches; [ 51 + bridge_stp_helper 52 + request_key_helper 53 + ]; 54 + rpiVersion = 3; 55 + }; 56 + 57 + linux_rpi4 = callPackage ../os-specific/linux/kernel/linux-rpi.nix { 58 + kernelPatches = with kernelPatches; [ 59 + bridge_stp_helper 60 + request_key_helper 61 + ]; 62 + rpiVersion = 4; 63 + }; 64 + 65 + linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix { 66 + kernelPatches = 67 + [ kernelPatches.bridge_stp_helper 68 + kernelPatches.request_key_helper_updated 69 + kernelPatches.cpu-cgroup-v2."4.4" 70 + kernelPatches.modinst_arg_list_too_long 71 + ]; 72 + }; 73 + 74 + linux_4_9 = callPackage ../os-specific/linux/kernel/linux-4.9.nix { 75 + kernelPatches = 76 + [ kernelPatches.bridge_stp_helper 77 + kernelPatches.request_key_helper_updated 78 + kernelPatches.cpu-cgroup-v2."4.9" 79 + kernelPatches.modinst_arg_list_too_long 80 + ]; 81 + }; 82 + 83 + linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix { 84 + kernelPatches = 85 + [ kernelPatches.bridge_stp_helper 86 + kernelPatches.request_key_helper 87 + # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md 88 + # when adding a new linux version 89 + kernelPatches.cpu-cgroup-v2."4.11" 90 + kernelPatches.modinst_arg_list_too_long 91 + ]; 92 + }; 93 + 94 + linux_4_19 = callPackage ../os-specific/linux/kernel/linux-4.19.nix { 95 + kernelPatches = 96 + [ kernelPatches.bridge_stp_helper 97 + kernelPatches.request_key_helper 98 + kernelPatches.modinst_arg_list_too_long 99 + ]; 100 + }; 101 + 102 + linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix { 103 + kernelPatches = [ 104 + kernelPatches.bridge_stp_helper 105 + kernelPatches.request_key_helper 106 + kernelPatches.rtl8761b_support 107 + ]; 108 + }; 109 + 110 + linux_rt_5_4 = callPackage ../os-specific/linux/kernel/linux-rt-5.4.nix { 111 + kernelPatches = [ 112 + kernelPatches.bridge_stp_helper 113 + kernelPatches.request_key_helper 114 + ]; 115 + }; 116 + 117 + linux_5_10 = callPackage ../os-specific/linux/kernel/linux-5.10.nix { 118 + kernelPatches = [ 119 + kernelPatches.bridge_stp_helper 120 + kernelPatches.request_key_helper 121 + ]; 122 + }; 123 + 124 + linux_rt_5_10 = callPackage ../os-specific/linux/kernel/linux-rt-5.10.nix { 125 + kernelPatches = [ 126 + kernelPatches.bridge_stp_helper 127 + kernelPatches.request_key_helper 128 + kernelPatches.export-rt-sched-migrate 129 + ]; 130 + }; 131 + 132 + linux_rt_5_11 = callPackage ../os-specific/linux/kernel/linux-rt-5.11.nix { 133 + kernelPatches = [ 134 + kernelPatches.bridge_stp_helper 135 + kernelPatches.request_key_helper 136 + kernelPatches.export-rt-sched-migrate 137 + ]; 138 + }; 139 + 140 + linux_5_12 = callPackage ../os-specific/linux/kernel/linux-5.12.nix { 141 + kernelPatches = [ 142 + kernelPatches.bridge_stp_helper 143 + kernelPatches.request_key_helper 144 + ]; 145 + }; 146 + 147 + linux_5_13 = callPackage ../os-specific/linux/kernel/linux-5.13.nix { 148 + kernelPatches = [ 149 + kernelPatches.bridge_stp_helper 150 + kernelPatches.request_key_helper 151 + ]; 152 + }; 153 + 154 + linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { 155 + kernelPatches = [ 156 + kernelPatches.bridge_stp_helper 157 + kernelPatches.request_key_helper 158 + ]; 159 + }; 160 + 161 + linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix rec { 162 + kernel = linux_5_13; 163 + kernelPatches = kernel.kernelPatches; 164 + }; 165 + 166 + linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix { 167 + kernelPatches = [ 168 + kernelPatches.bridge_stp_helper 169 + kernelPatches.request_key_helper 170 + kernelPatches.modinst_arg_list_too_long 171 + ]; 172 + }; 173 + 174 + linux_zen = callPackage ../os-specific/linux/kernel/linux-zen.nix { 175 + kernelPatches = [ 176 + kernelPatches.bridge_stp_helper 177 + kernelPatches.request_key_helper 178 + ]; 179 + }; 180 + 181 + linux_lqx = callPackage ../os-specific/linux/kernel/linux-lqx.nix { 182 + kernelPatches = [ 183 + kernelPatches.bridge_stp_helper 184 + kernelPatches.request_key_helper 185 + ]; 186 + }; 187 + 188 + linux_xanmod = callPackage ../os-specific/linux/kernel/linux-xanmod.nix { 189 + kernelPatches = [ 190 + kernelPatches.bridge_stp_helper 191 + kernelPatches.request_key_helper 192 + ]; 193 + }; 194 + 195 + linux_libre = deblobKernel packageAliases.linux_default.kernel; 196 + 197 + linux_latest_libre = deblobKernel packageAliases.linux_latest.kernel; 198 + 199 + }); 200 + /* Linux kernel modules are inherently tied to a specific kernel. So 201 + rather than provide specific instances of those packages for a 202 + specific kernel, we have a function that builds those packages 203 + for a specific kernel. This function can then be called for 204 + whatever kernel you're using. */ 205 + 206 + packagesFor = kernel_: lib.makeExtensible (self: with self; 207 + let callPackage = newScope self; in { 208 + inherit callPackage; 209 + kernel = kernel_; 210 + inherit (kernel) stdenv; # in particular, use the same compiler by default 211 + 212 + # to help determine module compatibility 213 + inherit (kernel) isZen isHardened isLibre; 214 + inherit (kernel) kernelOlder kernelAtLeast; 215 + # Obsolete aliases (these packages do not depend on the kernel). 216 + inherit (pkgs) odp-dpdk pktgen; # added 2018-05 217 + 218 + acpi_call = callPackage ../os-specific/linux/acpi-call {}; 219 + 220 + akvcam = callPackage ../os-specific/linux/akvcam { 221 + inherit (pkgs.qt5) qmake; 222 + }; 223 + 224 + amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro { }; 225 + 226 + anbox = callPackage ../os-specific/linux/anbox/kmod.nix { }; 227 + 228 + apfs = callPackage ../os-specific/linux/apfs { }; 229 + 230 + batman_adv = callPackage ../os-specific/linux/batman-adv {}; 231 + 232 + bcc = callPackage ../os-specific/linux/bcc { 233 + python = pkgs.python3; 234 + }; 235 + 236 + bpftrace = callPackage ../os-specific/linux/bpftrace { }; 237 + 238 + bbswitch = callPackage ../os-specific/linux/bbswitch {}; 239 + 240 + chipsec = callPackage ../tools/security/chipsec { 241 + inherit kernel; 242 + withDriver = true; 243 + }; 244 + 245 + cryptodev = callPackage ../os-specific/linux/cryptodev { }; 246 + 247 + cpupower = callPackage ../os-specific/linux/cpupower { }; 248 + 249 + ddcci-driver = callPackage ../os-specific/linux/ddcci { }; 250 + 251 + digimend = callPackage ../os-specific/linux/digimend { }; 252 + 253 + dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { }; 254 + 255 + exfat-nofuse = callPackage ../os-specific/linux/exfat { }; 256 + 257 + evdi = callPackage ../os-specific/linux/evdi { }; 258 + 259 + fwts-efi-runtime = callPackage ../os-specific/linux/fwts/module.nix { }; 260 + 261 + gcadapter-oc-kmod = callPackage ../os-specific/linux/gcadapter-oc-kmod { }; 262 + hid-nintendo = callPackage ../os-specific/linux/hid-nintendo { }; 263 + 264 + hyperv-daemons = callPackage ../os-specific/linux/hyperv-daemons { }; 265 + 266 + e1000e = if lib.versionOlder kernel.version "4.10" then callPackage ../os-specific/linux/e1000e {} else null; 267 + 268 + intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null; 269 + 270 + ixgbevf = callPackage ../os-specific/linux/ixgbevf {}; 271 + 272 + it87 = callPackage ../os-specific/linux/it87 {}; 273 + 274 + asus-wmi-sensors = callPackage ../os-specific/linux/asus-wmi-sensors {}; 275 + 276 + ena = callPackage ../os-specific/linux/ena {}; 277 + 278 + v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; 279 + 280 + lttng-modules = callPackage ../os-specific/linux/lttng-modules { }; 281 + 282 + broadcom_sta = callPackage ../os-specific/linux/broadcom-sta { }; 283 + 284 + tbs = callPackage ../os-specific/linux/tbs { }; 285 + 286 + mbp2018-bridge-drv = callPackage ../os-specific/linux/mbp-modules/mbp2018-bridge-drv { }; 287 + 288 + nvidiabl = callPackage ../os-specific/linux/nvidiabl { }; 289 + 290 + nvidiaPackages = dontRecurseIntoAttrs (callPackage ../os-specific/linux/nvidia-x11 { }); 291 + 292 + nvidia_x11_legacy340 = nvidiaPackages.legacy_340; 293 + nvidia_x11_legacy390 = nvidiaPackages.legacy_390; 294 + nvidia_x11_beta = nvidiaPackages.beta; 295 + nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta; 296 + nvidia_x11 = nvidiaPackages.stable; 297 + 298 + openrazer = callPackage ../os-specific/linux/openrazer/driver.nix { }; 299 + 300 + ply = callPackage ../os-specific/linux/ply { }; 301 + 302 + r8125 = callPackage ../os-specific/linux/r8125 { }; 303 + 304 + r8168 = callPackage ../os-specific/linux/r8168 { }; 305 + 306 + rtl8188eus-aircrack = callPackage ../os-specific/linux/rtl8188eus-aircrack { }; 307 + 308 + rtl8192eu = callPackage ../os-specific/linux/rtl8192eu { }; 309 + 310 + rtl8723bs = callPackage ../os-specific/linux/rtl8723bs { }; 311 + 312 + rtl8812au = callPackage ../os-specific/linux/rtl8812au { }; 313 + 314 + rtl8814au = callPackage ../os-specific/linux/rtl8814au { }; 315 + 316 + rtl88xxau-aircrack = callPackage ../os-specific/linux/rtl88xxau-aircrack {}; 317 + 318 + rtl8821au = callPackage ../os-specific/linux/rtl8821au { }; 319 + 320 + rtl8821ce = callPackage ../os-specific/linux/rtl8821ce { }; 321 + 322 + rtl88x2bu = callPackage ../os-specific/linux/rtl88x2bu { }; 323 + 324 + rtl8821cu = callPackage ../os-specific/linux/rtl8821cu { }; 325 + 326 + rtw88 = callPackage ../os-specific/linux/rtw88 { }; 327 + rtlwifi_new = rtw88; 328 + 329 + rtw89 = callPackage ../os-specific/linux/rtw89 { }; 330 + 331 + openafs_1_8 = callPackage ../servers/openafs/1.8/module.nix { }; 332 + openafs_1_9 = callPackage ../servers/openafs/1.9/module.nix { }; 333 + # Current stable release; don't backport release updates! 334 + openafs = openafs_1_8; 335 + 336 + facetimehd = callPackage ../os-specific/linux/facetimehd { }; 337 + 338 + tuxedo-keyboard = if lib.versionAtLeast kernel.version "4.14" then callPackage ../os-specific/linux/tuxedo-keyboard { } else null; 339 + 340 + jool = callPackage ../os-specific/linux/jool { }; 341 + 342 + kvmfr = callPackage ../os-specific/linux/kvmfr { }; 343 + 344 + mba6x_bl = callPackage ../os-specific/linux/mba6x_bl { }; 345 + 346 + mwprocapture = callPackage ../os-specific/linux/mwprocapture { }; 347 + 348 + mxu11x0 = callPackage ../os-specific/linux/mxu11x0 { }; 349 + 350 + # compiles but has to be integrated into the kernel somehow 351 + # Let's have it uncommented and finish it.. 352 + ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { }; 353 + 354 + netatop = callPackage ../os-specific/linux/netatop { }; 355 + 356 + oci-seccomp-bpf-hook = if lib.versionAtLeast kernel.version "5.4" then callPackage ../os-specific/linux/oci-seccomp-bpf-hook { } else null; 357 + 358 + perf = if lib.versionAtLeast kernel.version "3.12" then callPackage ../os-specific/linux/kernel/perf.nix { } else null; 359 + 360 + phc-intel = if lib.versionAtLeast kernel.version "4.10" then callPackage ../os-specific/linux/phc-intel { } else null; 361 + 362 + # Disable for kernels 4.15 and above due to compatibility issues 363 + prl-tools = if lib.versionOlder kernel.version "4.15" then callPackage ../os-specific/linux/prl-tools { } else null; 364 + 365 + sch_cake = callPackage ../os-specific/linux/sch_cake { }; 366 + 367 + isgx = callPackage ../os-specific/linux/isgx { }; 368 + 369 + sysdig = callPackage ../os-specific/linux/sysdig {}; 370 + 371 + systemtap = callPackage ../development/tools/profiling/systemtap { }; 372 + 373 + system76 = callPackage ../os-specific/linux/system76 { }; 374 + 375 + system76-acpi = callPackage ../os-specific/linux/system76-acpi { }; 376 + 377 + system76-power = callPackage ../os-specific/linux/system76-power { }; 378 + 379 + system76-io = callPackage ../os-specific/linux/system76-io { }; 380 + 381 + tmon = callPackage ../os-specific/linux/tmon { }; 382 + 383 + tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; 384 + 385 + turbostat = callPackage ../os-specific/linux/turbostat { }; 386 + 387 + usbip = callPackage ../os-specific/linux/usbip { }; 388 + 389 + v86d = callPackage ../os-specific/linux/v86d { }; 390 + 391 + veikk-linux-driver = callPackage ../os-specific/linux/veikk-linux-driver { }; 392 + vendor-reset = callPackage ../os-specific/linux/vendor-reset { }; 393 + 394 + vhba = callPackage ../misc/emulators/cdemu/vhba.nix { }; 395 + 396 + virtualbox = callPackage ../os-specific/linux/virtualbox { 397 + virtualbox = pkgs.virtualboxHardened; 398 + }; 399 + 400 + virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { 401 + virtualbox = pkgs.virtualboxHardened; 402 + }; 403 + 404 + wireguard = if lib.versionOlder kernel.version "5.6" then callPackage ../os-specific/linux/wireguard { } else null; 405 + 406 + x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { }; 407 + 408 + xmm7360-pci = callPackage ../os-specific/linux/xmm7360-pci { }; 409 + 410 + xpadneo = callPackage ../os-specific/linux/xpadneo { }; 411 + 412 + zenpower = callPackage ../os-specific/linux/zenpower { }; 413 + 414 + inherit (callPackage ../os-specific/linux/zfs { 415 + configFile = "kernel"; 416 + inherit pkgs kernel; 417 + }) zfsStable zfsUnstable; 418 + zfs = zfsStable; 419 + 420 + can-isotp = callPackage ../os-specific/linux/can-isotp { }; 421 + 422 + } // lib.optionalAttrs (config.allowAliases or false) { 423 + ati_drivers_x11 = throw "ati drivers are no longer supported by any kernel >=4.1"; # added 2021-05-18; 424 + }); 425 + 426 + # Hardened Linux 427 + hardenedPackagesFor = kernel': overrides: 428 + let kernel = kernel'.override overrides; 429 + in packagesFor (kernel.override { 430 + structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix { 431 + inherit lib; 432 + inherit (kernel) version; 433 + }; 434 + kernelPatches = kernel.kernelPatches ++ [ 435 + kernelPatches.hardened.${kernel.meta.branch} 436 + ]; 437 + modDirVersionArg = kernel.modDirVersion + (kernelPatches.hardened.${kernel.meta.branch}).extra; 438 + isHardened = true; 439 + }); 440 + 441 + vanillaPackages = { 442 + # recurse to build modules for the kernels 443 + linux_4_4 = recurseIntoAttrs (packagesFor kernels.linux_4_4); 444 + linux_4_9 = recurseIntoAttrs (packagesFor kernels.linux_4_9); 445 + linux_4_14 = recurseIntoAttrs (packagesFor kernels.linux_4_14); 446 + linux_4_19 = recurseIntoAttrs (packagesFor kernels.linux_4_19); 447 + linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4); 448 + linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10); 449 + linux_5_12 = recurseIntoAttrs (packagesFor kernels.linux_5_12); 450 + linux_5_13 = recurseIntoAttrs (packagesFor kernels.linux_5_13); 451 + }; 452 + 453 + rtPackages = { 454 + # realtime kernel packages 455 + linux_rt_5_4 = packagesFor kernels.linux_rt_5_4; 456 + linux_rt_5_10 = packagesFor kernels.linux_rt_5_10; 457 + linux_rt_5_11 = packagesFor kernels.linux_rt_5_11; 458 + }; 459 + 460 + rpiPackages = { 461 + linux_rpi1 = packagesFor kernels.linux_rpi1; 462 + linux_rpi2 = packagesFor kernels.linux_rpi2; 463 + linux_rpi3 = packagesFor kernels.linux_rpi3; 464 + linux_rpi4 = packagesFor kernels.linux_rpi4; 465 + }; 466 + 467 + packages = vanillaPackages // rtPackages // rpiPackages // { 468 + linux_mptcp_95 = packagesFor kernels.linux_mptcp_95; 469 + 470 + # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds. 471 + linux_testing = packagesFor kernels.linux_testing; 472 + linux_testing_bcachefs = recurseIntoAttrs (packagesFor kernels.linux_testing_bcachefs); 473 + 474 + linux_hardened = recurseIntoAttrs (hardenedPackagesFor packageAliases.linux_default.kernel { }); 475 + # Note: We use an explicit version instead of linux_latest since the hardened patches 476 + # can lag behind and we don't want to delay updates. 477 + linux_latest_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_12 { }); 478 + 479 + linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen); 480 + linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx); 481 + linux_xanmod = recurseIntoAttrs (packagesFor kernels.linux_xanmod); 482 + 483 + hardkernel_4_14 = recurseIntoAttrs (packagesFor kernels.linux_hardkernel_4_14); 484 + 485 + linux_libre = recurseIntoAttrs (packagesFor kernels.linux_libre); 486 + 487 + linux_latest_libre = recurseIntoAttrs (packagesFor kernels.linux_latest_libre); 488 + }; 489 + 490 + packageAliases = { 491 + linux_default = packages.linux_5_10; 492 + # Update this when adding the newest kernel major version! 493 + linux_latest = packages.linux_5_13; 494 + linux_mptcp = packages.linux_mptcp_95; 495 + linux_rt_default = packages.linux_rt_5_4; 496 + linux_rt_latest = packages.linux_rt_5_11; 497 + linux_hardkernel_latest = packages.hardkernel_4_14; 498 + }; 499 + 500 + manualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {}); 501 + 502 + in 503 + 504 + { 505 + packages = recurseIntoAttrs packages; 506 + kernels = recurseIntoAttrs kernels; 507 + inherit packageAliases; 508 + inherit vanillaPackages rtPackages rpiPackages; 509 + inherit kernelPatches packagesFor hardenedPackagesFor; 510 + 511 + customPackage = { version, src, configfile, allowImportFromDerivation ? true }: 512 + recurseIntoAttrs (packagesFor (manualConfig { 513 + inherit version src configfile lib stdenv allowImportFromDerivation; 514 + })); 515 + 516 + inherit manualConfig; 517 + 518 + # Derive one of the default .config files 519 + linuxConfig = { 520 + src, 521 + version ? (builtins.parseDrvName src.name).version, 522 + makeTarget ? "defconfig", 523 + name ? "kernel.config", 524 + }: stdenvNoCC.mkDerivation { 525 + inherit name src; 526 + depsBuildBuild = [ buildPackages.stdenv.cc ] 527 + ++ lib.optionals (lib.versionAtLeast version "4.16") [ buildPackages.bison buildPackages.flex ]; 528 + postPatch = '' 529 + patchShebangs scripts/ 530 + ''; 531 + buildPhase = '' 532 + set -x 533 + make \ 534 + ARCH=${stdenv.hostPlatform.linuxArch} \ 535 + HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \ 536 + ${makeTarget} 537 + ''; 538 + installPhase = '' 539 + cp .config $out 540 + ''; 541 + }; 542 + 543 + buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs; 544 + 545 + } 546 +