diff --git a/README.md b/README.md index 7a774cf07..5316196b2 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ See code for all available configurations. | [Lenovo ThinkPad T14 AMD Gen 4](lenovo/thinkpad/t14/amd/gen4) | `` | `lenovo-thinkpad-t14-amd-gen4` | | [Lenovo ThinkPad T14 AMD Gen 5](lenovo/thinkpad/t14/amd/gen5) | `` | `lenovo-thinkpad-t14-amd-gen5` | | [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `` | `lenovo-thinkpad-t14` | +| [Lenovo ThinkPad T14 Intel Gen 6](lenovo/thinkpad/t14/intel/gen6) | `` | `lenovo-thinkpad-t14-intel-gen6` | | [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `` | `lenovo-thinkpad-t14s-amd-gen1` | | [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `` | `lenovo-thinkpad-t14s-amd-gen4` | | [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `` | `lenovo-thinkpad-t14s` | diff --git a/flake.nix b/flake.nix index 3cd9e3551..019c8428f 100644 --- a/flake.nix +++ b/flake.nix @@ -223,6 +223,7 @@ lenovo-thinkpad-t14-amd-gen3 = import ./lenovo/thinkpad/t14/amd/gen3; lenovo-thinkpad-t14-amd-gen4 = import ./lenovo/thinkpad/t14/amd/gen4; lenovo-thinkpad-t14-amd-gen5 = import ./lenovo/thinkpad/t14/amd/gen5; + lenovo-thinkpad-t14-intel-gen6 = import ./lenovo/thinkpad/t14/intel/gen6; lenovo-thinkpad-t14s = import ./lenovo/thinkpad/t14s; lenovo-thinkpad-t14s-amd-gen1 = import ./lenovo/thinkpad/t14s/amd/gen1; lenovo-thinkpad-t14s-amd-gen4 = import ./lenovo/thinkpad/t14s/amd/gen4; diff --git a/lenovo/thinkpad/t14/intel/default.nix b/lenovo/thinkpad/t14/intel/default.nix new file mode 100644 index 000000000..330ecd3eb --- /dev/null +++ b/lenovo/thinkpad/t14/intel/default.nix @@ -0,0 +1,9 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../../common/cpu/intel + ../../../../common/gpu/intel + ]; +} diff --git a/lenovo/thinkpad/t14/intel/gen6/default.nix b/lenovo/thinkpad/t14/intel/gen6/default.nix new file mode 100644 index 000000000..e6e6a5f4a --- /dev/null +++ b/lenovo/thinkpad/t14/intel/gen6/default.nix @@ -0,0 +1,60 @@ +{ + lib, + pkgs, + config, + ... +}: + +{ + imports = [ + ../../. + ../../../../../common/cpu/intel/lunar-lake + ]; + + # T14 Gen 6 uses Intel Core Ultra processors (Lunar Lake architecture) + # with integrated Intel Arc graphics + # The lunar-lake module already includes appropriate GPU support + + # Ensure modern kernel for full Lunar Lake support + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.8") pkgs.linuxPackages_latest; + + # TODO: Looking for feedback on these kernel parameters for T14 Gen 6 + # Force use of the thinkpad_acpi driver for backlight control + # This allows the backlight save/load systemd service to work + boot.kernelParams = [ + "acpi_backlight=native" + # TODO: Looking for feedback - touchpad fix needed for proper click registration on some T14 models + "psmouse.synaptics_intertouch=0" + ]; + + # TODO: Looking for feedback - modern Intel CPUs don't typically need throttled service + # which can interfere with newer power management on Lunar Lake + services.throttled.enable = lib.mkDefault false; + + # Enable fingerprint reader support + # NOTE: PAM configuration should be done in host config to avoid login issues + # See: https://github.com/NixOS/nixpkgs/issues/171136 + services.fprintd.enable = lib.mkDefault true; + + # For complete fingerprint authentication in GNOME, add the following to your host config: + # + # security.pam.services = { + # # Enable fingerprint authentication for sudo + # sudo.fprintAuth = lib.mkDefault true; + # + # # Enable fingerprint authentication for su + # su.fprintAuth = lib.mkDefault true; + # + # # Enable fingerprint authentication for screen unlock + # xscreensaver.fprintAuth = lib.mkDefault true; + # + # # WARNING: login.fprintAuth may break GDM password authentication + # # Only enable if you understand the risks: + # # login.fprintAuth = lib.mkDefault true; + # }; + # + # After configuration: + # 1. Rebuild your system + # 2. Enroll fingerprint: sudo fprintd-enroll $USER + # 3. Test sudo and screen unlock with fingerprint +}