diff options
author | Robert Helgesson <robert@rycee.net> | 2019-09-28 23:58:20 +0200 |
---|---|---|
committer | Robert Helgesson <robert@rycee.net> | 2019-09-29 00:17:13 +0200 |
commit | de600352bc4ba2c5ae3dd62a472b54be99d6bfc4 (patch) | |
tree | 572866ff67afe81146381dcb9ebbd0428bd1f686 /lenovo | |
parent | 043562906168ee6966b6409c89a2b219af1e9752 (diff) |
thinkpad/x1-extreme/gen2: add module
Diffstat (limited to 'lenovo')
-rw-r--r-- | lenovo/thinkpad/x1-extreme/default.nix | 8 | ||||
-rw-r--r-- | lenovo/thinkpad/x1-extreme/gen2/default.nix | 47 |
2 files changed, 55 insertions, 0 deletions
diff --git a/lenovo/thinkpad/x1-extreme/default.nix b/lenovo/thinkpad/x1-extreme/default.nix new file mode 100644 index 0000000..09a0ec1 --- /dev/null +++ b/lenovo/thinkpad/x1-extreme/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/ssd + ]; +} diff --git a/lenovo/thinkpad/x1-extreme/gen2/default.nix b/lenovo/thinkpad/x1-extreme/gen2/default.nix new file mode 100644 index 0000000..912cc95 --- /dev/null +++ b/lenovo/thinkpad/x1-extreme/gen2/default.nix @@ -0,0 +1,47 @@ +{ config, lib, ... }: + +with lib; + +{ + imports = [ + ../. + ../../../../common/pc/laptop/cpu-throttling-bug.nix + ]; + + # Fixes an issue with incorrect battery reporting. See + # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Extreme_(Gen_2)#Invalid_Stats_Workaround + boot.initrd.availableKernelModules = [ "battery" ]; + + # New ThinkPads have a different TrackPoint manufacturer/name. + # See also https://certification.ubuntu.com/catalog/component/input/5313/input%3ATPPS/2ElanTrackPoint/ + hardware.trackpoint.device = "TPPS/2 Elan TrackPoint"; + + # Since the HDMI port is connected to the NVIDIA card. + hardware.bumblebee.connectDisplay = true; + + nixpkgs.overlays = [ + (self: super: { + bumblebee = super.bumblebee.override { + extraNvidiaDeviceOptions = '' + Option "AllowEmptyInitialConfiguration" + ''; + }; + }) + ]; + + services.xserver = mkMerge [ + { + # Set the right DPI. xdpyinfo says the screen is 508×285 mm but + # it actually is 344×193 mm. + monitorSection = '' + DisplaySize 344 193 + ''; + } + + # To support intel-virtual-output when using Bumblebee. + (mkIf config.hardware.bumblebee.enable { + deviceSection = ''Option "VirtualHeads" "1"''; + videoDrivers = [ "intel" ]; + }) + ]; +} |