Skip to content

Commit 978caaa

Browse files
committed
framework: disable kernel module on 6.12+
...except intel 11-13th gen
1 parent de6fc55 commit 978caaa

File tree

4 files changed

+23
-11
lines changed

4 files changed

+23
-11
lines changed

framework/13-inch/11th-gen-intel/default.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22
imports = [
33
../common
44
../common/intel.nix
5+
../common/intel-legacy.nix
56
];
67

78
# Requires at least 5.16 for working wi-fi and bluetooth.
89
# https://community.frame.work/t/using-the-ax210-with-linux-on-the-framework-laptop/1844/89
910
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.16") (lib.mkDefault pkgs.linuxPackages_latest);
1011

1112
hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo";
13+
14+
1215
}

framework/13-inch/12th-gen-intel/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
imports = [
44
../common
55
../common/intel.nix
6+
../common/intel-legacy.nix
67
];
78

89
config = lib.mkMerge [
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{ config, lib, ... }: {
2+
# on intel 11-13th gen, enable kmod by default if
3+
# - kernel >= 6.10
4+
# - nixos >= 24.05
5+
hardware.framework.enableKmod =
6+
lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.10" &&
7+
lib.versionAtLeast (lib.versions.majorMinor lib.version) "24.05";
8+
}

framework/kmod.nix

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
{ config, lib, pkgs, ... }:
22
let
33
kernel_version_compatible = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.10";
4-
in {
5-
options.hardware.framework.enableKmod = (lib.mkEnableOption
6-
"Enable the community created Framework kernel module that allows interacting with the embedded controller from sysfs."
7-
) // {
8-
# enable by default on NixOS >= 24.05 and kernel >= 6.10
9-
default = lib.and
10-
(lib.versionAtLeast (lib.versions.majorMinor lib.version) "24.05")
11-
kernel_version_compatible;
12-
defaultText = "enabled by default on NixOS >= 24.05 and kernel >= 6.10";
13-
};
14-
4+
in
5+
{
6+
options.hardware.framework.enableKmod =
7+
(lib.mkEnableOption "Enable the community created Framework kernel module that allows interacting with the embedded controller from sysfs.")
8+
// {
9+
# enable by default on NixOS >= 24.05 and 6.10 <= kernel <= 6.12
10+
default = lib.versionAtLeast (lib.versions.majorMinor lib.version) "24.05" &&
11+
kernel_version_compatible &&
12+
!lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.12";
13+
defaultText = "enabled by default on NixOS >= 24.05 and kernel >= 6.10";
14+
};
1515

1616
config.boot = lib.mkIf config.hardware.framework.enableKmod {
1717
extraModulePackages = with config.boot.kernelPackages; [

0 commit comments

Comments
 (0)