Skip to content

Add ThinkPad T14 Intel Gen 6 support #1572

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@ See code for all available configurations.
| [Lenovo ThinkPad T14 AMD Gen 4](lenovo/thinkpad/t14/amd/gen4) | `<nixos-hardware/lenovo/thinkpad/t14/amd/gen4>` | `lenovo-thinkpad-t14-amd-gen4` |
| [Lenovo ThinkPad T14 AMD Gen 5](lenovo/thinkpad/t14/amd/gen5) | `<nixos-hardware/lenovo/thinkpad/t14/amd/gen5>` | `lenovo-thinkpad-t14-amd-gen5` |
| [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `<nixos-hardware/lenovo/thinkpad/t14>` | `lenovo-thinkpad-t14` |
| [Lenovo ThinkPad T14 Intel Gen 6](lenovo/thinkpad/t14/intel/gen6) | `<nixos-hardware/lenovo/thinkpad/t14/intel/gen6>` | `lenovo-thinkpad-t14-intel-gen6` |
| [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `<nixos-hardware/lenovo/thinkpad/t14s/amd/gen1>` | `lenovo-thinkpad-t14s-amd-gen1` |
| [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `<nixos-hardware/lenovo/thinkpad/t14s/amd/gen4>` | `lenovo-thinkpad-t14s-amd-gen4` |
| [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `<nixos-hardware/lenovo/thinkpad/t14s>` | `lenovo-thinkpad-t14s` |
Expand Down
27 changes: 0 additions & 27 deletions flake.lock

This file was deleted.

1 change: 1 addition & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
9 changes: 9 additions & 0 deletions lenovo/thinkpad/t14/intel/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{ lib, pkgs, ... }:

{
imports = [
../.
../../../../common/cpu/intel
../../../../common/gpu/intel
];
}
60 changes: 60 additions & 0 deletions lenovo/thinkpad/t14/intel/gen6/default.nix
Original file line number Diff line number Diff line change
@@ -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
}