From de600352bc4ba2c5ae3dd62a472b54be99d6bfc4 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 28 Sep 2019 23:58:20 +0200 Subject: thinkpad/x1-extreme/gen2: add module --- lenovo/thinkpad/x1-extreme/default.nix | 8 +++++ lenovo/thinkpad/x1-extreme/gen2/default.nix | 47 +++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 lenovo/thinkpad/x1-extreme/default.nix create mode 100644 lenovo/thinkpad/x1-extreme/gen2/default.nix (limited to 'lenovo') 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" ]; + }) + ]; +} -- cgit v1.2.3