at 22.05-pre 72 lines 1.9 kB view raw
1{ lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args: 2 3let 4 version = "5.15.2"; 5 release = "1"; 6 suffix = "xanmod${release}-tt"; 7in 8buildLinux (args // rec { 9 inherit version; 10 modDirVersion = "${version}-${suffix}"; 11 12 src = fetchFromGitHub { 13 owner = "xanmod"; 14 repo = "linux"; 15 rev = modDirVersion; 16 sha256 = "sha256-3tIwj+4xf/I5srEAqECbfH343J5nzCWViq1ZnidZI24="; 17 }; 18 19 structuredExtraConfig = with lib.kernel; { 20 # removed options 21 CFS_BANDWIDTH = lib.mkForce (option no); 22 RT_GROUP_SCHED = lib.mkForce (option no); 23 SCHED_AUTOGROUP = lib.mkForce (option no); 24 25 # AMD P-state driver 26 X86_AMD_PSTATE = yes; 27 28 # Linux RNG framework 29 LRNG = yes; 30 31 # Paragon's NTFS3 driver 32 NTFS3_FS = module; 33 NTFS3_LZX_XPRESS = yes; 34 NTFS3_FS_POSIX_ACL = yes; 35 36 # Preemptive Full Tickless Kernel at 500Hz 37 SCHED_CORE = lib.mkForce (option no); 38 PREEMPT_VOLUNTARY = lib.mkForce no; 39 PREEMPT = lib.mkForce yes; 40 NO_HZ_FULL = yes; 41 HZ_500 = yes; 42 43 # Google's BBRv2 TCP congestion Control 44 TCP_CONG_BBR2 = yes; 45 DEFAULT_BBR2 = yes; 46 47 # FQ-PIE Packet Scheduling 48 NET_SCH_DEFAULT = yes; 49 DEFAULT_FQ_PIE = yes; 50 51 # Graysky's additional CPU optimizations 52 CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes; 53 54 # Android Ashmem and Binder IPC Driver as module for Anbox 55 ASHMEM = module; 56 ANDROID = yes; 57 ANDROID_BINDER_IPC = module; 58 ANDROID_BINDERFS = module; 59 ANDROID_BINDER_DEVICES = freeform "binder,hwbinder,vndbinder"; 60 61 # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. 62 FUTEX = yes; 63 FUTEX_PI = yes; 64 }; 65 66 extraMeta = { 67 branch = "5.15-tt"; 68 maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ]; 69 description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience"; 70 broken = stdenv.isAarch64; 71 }; 72} // (args.argsOverride or { }))