<commit_before>{ lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args:

let
  stableVariant = {
    version = "5.15.43";
    suffix = "xanmod1";
    hash = "sha256-MeH9RUPDiuN22eAZ18v+N3aIT18dQ3FnTkcQV0MjB4k=";
  };

  edgeVariant = {
    version = "5.18.1";
    suffix = "xanmod1";
    hash = "sha256-dqvB4F2S7cklSJ7XTUNvWVKTsZGLevOXME5lvhmfyis=";
  };

  xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec {
    inherit version;
    modDirVersion = "${version}-${suffix}";

    src = fetchFromGitHub {
      owner = "xanmod";
      repo = "linux";
      rev = modDirVersion;
      inherit hash;
    };

    structuredExtraConfig = with lib.kernel; {
      # removed options
      CFS_BANDWIDTH = lib.mkForce (option no);
      RT_GROUP_SCHED = lib.mkForce (option no);
      SCHED_AUTOGROUP = lib.mkForce (option no);

      # AMD P-state driver
      X86_AMD_PSTATE = yes;

      # Linux RNG framework
      LRNG = yes;

      # Paragon's NTFS3 driver
      NTFS3_FS = module;
      NTFS3_LZX_XPRESS = yes;
      NTFS3_FS_POSIX_ACL = yes;

      # Preemptive Full Tickless Kernel at 500Hz
      SCHED_CORE = lib.mkForce (option no);
      PREEMPT_VOLUNTARY = lib.mkForce no;
      PREEMPT = lib.mkForce yes;
      NO_HZ_FULL = yes;
      HZ_500 = yes;

      # Google's BBRv2 TCP congestion Control
      TCP_CONG_BBR2 = yes;
      DEFAULT_BBR2 = yes;

      # FQ-PIE Packet Scheduling
      NET_SCH_DEFAULT = yes;
      DEFAULT_FQ_PIE = yes;

      # Graysky's additional CPU optimizations
      CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes;

      # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync.
      FUTEX = yes;
      FUTEX_PI = yes;
<commit_msg>linuxKernels.kernels.linux_xanmod: adjust config for 5.18<commit_after>{ lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args:

let
  stableVariant = {
    version = "5.15.43";
    suffix = "xanmod1";
    hash = "sha256-MeH9RUPDiuN22eAZ18v+N3aIT18dQ3FnTkcQV0MjB4k=";
  };

  edgeVariant = {
    version = "5.18.1";
    suffix = "xanmod1";
    hash = "sha256-dqvB4F2S7cklSJ7XTUNvWVKTsZGLevOXME5lvhmfyis=";
  };

  xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec {
    inherit version;
    modDirVersion = "${version}-${suffix}";

    src = fetchFromGitHub {
      owner = "xanmod";
      repo = "linux";
      rev = modDirVersion;
      inherit hash;
    };

    structuredExtraConfig = with lib.kernel; {
      # removed options
      CFS_BANDWIDTH = lib.mkForce (option no);
      RT_GROUP_SCHED = lib.mkForce (option no);
      SCHED_AUTOGROUP = lib.mkForce (option no);

      # AMD P-state driver
      X86_AMD_PSTATE = yes;

      # Linux RNG framework
      LRNG = whenOlder "5.18" yes;

      # Paragon's NTFS3 driver
      NTFS3_FS = module;
      NTFS3_LZX_XPRESS = yes;
      NTFS3_FS_POSIX_ACL = yes;

      # Preemptive Full Tickless Kernel at 500Hz
      SCHED_CORE = lib.mkForce (option no);
      PREEMPT_VOLUNTARY = lib.mkForce no;
      PREEMPT = lib.mkForce yes;
      NO_HZ_FULL = yes;
      HZ_500 = yes;

      # Google's BBRv2 TCP congestion Control
      TCP_CONG_BBR2 = yes;
      DEFAULT_BBR2 = yes;

      # FQ-PIE Packet Scheduling
      NET_SCH_DEFAULT = yes;
      DEFAULT_FQ_PIE = yes;

      # Graysky's additional CPU optimizations
      CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes;

      # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync.
      FUTEX = yes;
      FUTEX_PI = yes;

{'fraction_non_alphanumeric': 0.09909383221280327, 'fraction_numerical': 0.03040046769950307, 'mean_word_length': 2.5387797311271973, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '668521', 'n_tokens_mistral': 1381, 'n_tokens_neox': 1267, 'n_words': 268}