maintainers: remove email for amuckstot30 (#360059)
[NixPkgs.git] / pkgs / os-specific / linux / kernel / xanmod-kernels.nix
blobfbe0855e1c4bb50d655e0262658984cd74939b72
2   lib,
3   stdenv,
4   fetchFromGitLab,
5   buildLinux,
6   variant,
7   ...
8 }@args:
10 let
11   # These names are how they are designated in https://xanmod.org.
13   # NOTE: When updating these, please also take a look at the changes done to
14   # kernel config in the xanmod version commit
15   variants = {
16     lts = {
17       version = "6.6.63";
18       hash = "sha256-P4B6r3p+Buu1Hf+RQsw5h2oUANVvQvQ4e/2gQcZ0vKw=";
19     };
20     main = {
21       version = "6.11.10";
22       hash = "sha256-WNzMM+P8c8Mv+FdrwcEPHwv/ppvgN2fiM+SHMmlAPYw=";
23     };
24   };
26   xanmodKernelFor =
27     {
28       version,
29       suffix ? "xanmod1",
30       hash,
31     }:
32     buildLinux (
33       args
34       // rec {
35         inherit version;
36         pname = "linux-xanmod";
37         modDirVersion = lib.versions.pad 3 "${version}-${suffix}";
39         src = fetchFromGitLab {
40           owner = "xanmod";
41           repo = "linux";
42           rev = modDirVersion;
43           inherit hash;
44         };
46         structuredExtraConfig = with lib.kernel; {
47           # CPUFreq governor Performance
48           CPU_FREQ_DEFAULT_GOV_PERFORMANCE = lib.mkOverride 60 yes;
49           CPU_FREQ_DEFAULT_GOV_SCHEDUTIL = lib.mkOverride 60 no;
51           # Full preemption
52           PREEMPT = lib.mkOverride 60 yes;
53           PREEMPT_VOLUNTARY = lib.mkOverride 60 no;
55           # Google's BBRv3 TCP congestion Control
56           TCP_CONG_BBR = yes;
57           DEFAULT_BBR = yes;
59           # Preemptive Full Tickless Kernel at 250Hz
60           HZ = freeform "250";
61           HZ_250 = yes;
62           HZ_1000 = no;
64           # RCU_BOOST and RCU_EXP_KTHREAD
65           RCU_EXPERT = yes;
66           RCU_FANOUT = freeform "64";
67           RCU_FANOUT_LEAF = freeform "16";
68           RCU_BOOST = yes;
69           RCU_BOOST_DELAY = freeform "0";
70           RCU_EXP_KTHREAD = yes;
71         };
73         extraMeta = {
74           branch = lib.versions.majorMinor version;
75           maintainers = with lib.maintainers; [
76             moni
77             lovesegfault
78             atemu
79             shawn8901
80             zzzsy
81           ];
82           description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience";
83           broken = stdenv.hostPlatform.isAarch64;
84         };
85       }
86       // (args.argsOverride or { })
87     );
89 xanmodKernelFor variants.${variant}