summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2019-10-09 15:10:11 +0100
committerGitHub <noreply@github.com>2019-10-09 15:10:11 +0100
commitf08177ef66b5b26f42b21df85ac706e94aa6c45d (patch)
treefc0ba2c9aaa3076867f2cda8a49021db56319260
parent91eba96d66e22233636ab81f338797a9dd535f7c (diff)
parentde600352bc4ba2c5ae3dd62a472b54be99d6bfc4 (diff)
Merge pull request #123 from rycee/thinkpad-x1-extreme-gen2
thinkpad/x1-extreme/gen2: add module
-rw-r--r--README.md79
-rw-r--r--lenovo/thinkpad/x1-extreme/default.nix8
-rw-r--r--lenovo/thinkpad/x1-extreme/gen2/default.nix47
3 files changed, 95 insertions, 39 deletions
diff --git a/README.md b/README.md
index bd57ba3..be6cdde 100644
--- a/README.md
+++ b/README.md
@@ -24,45 +24,46 @@ imports = [
See code for all available configurations.
-| Model | Path |
-| --------------------------------- | -------------------------------------------- |
-| [Acer Aspire 4810T][] | `<nixos-hardware/acer/aspire/4810t>` |
-| Airis N990 | `<nixos-hardware/airis/n990>` |
-| Apple MacBook Air 4,X | `<nixos-hardware/apple/macbook-air/4>` |
-| Apple MacBook Air 6,X | `<nixos-hardware/apple/macbook-air/6>` |
-| [Apple MacBook Pro 10,1][] | `<nixos-hardware/apple/macbook-pro/10-1>` |
-| Apple MacBook Pro 12,1 | `<nixos-hardware/apple/macbook-pro/12-1>` |
-| BeagleBoard PocketBeagle | `<nixos-hardware/beagleboard/pocketbeagle>` |
-| [Dell XPS 13 9360][] | `<nixos-hardware/dell/xps/13-9360>` |
-| [Dell XPS 13 9370][] | `<nixos-hardware/dell/xps/13-9370>` |
-| [Dell XPS 13 9380][] | `<nixos-hardware/dell/xps/13-9380>` |
-| [Dell XPS 15 9550][] | `<nixos-hardware/dell/xps/15-9550>` |
-| [Inverse Path USB armory][] | `<nixos-hardware/inversepath/usbarmory>` |
-| Lenovo IdeaPad Z510 | `<nixos-hardware/lenovo/ideapad/z510>` |
-| Lenovo ThinkPad T410 | `<nixos-hardware/lenovo/thinkpad/t410>` |
-| Lenovo ThinkPad T430 | `<nixos-hardware/lenovo/thinkpad/t430>` |
-| Lenovo ThinkPad T440s | `<nixos-hardware/lenovo/thinkpad/t440s>` |
-| Lenovo ThinkPad T440p | `<nixos-hardware/lenovo/thinkpad/t440p>` |
-| Lenovo ThinkPad T450s | `<nixos-hardware/lenovo/thinkpad/t450s>` |
-| Lenovo ThinkPad T460s | `<nixos-hardware/lenovo/thinkpad/t460s>` |
-| Lenovo ThinkPad T470s | `<nixos-hardware/lenovo/thinkpad/t470s>` |
-| Lenovo ThinkPad T480s | `<nixos-hardware/lenovo/thinkpad/t480s>` |
-| Lenovo ThinkPad T490 | `<nixos-hardware/lenovo/thinkpad/t490>` |
-| Lenovo ThinkPad X140e | `<nixos-hardware/lenovo/thinkpad/x140e>` |
-| Lenovo ThinkPad X220 | `<nixos-hardware/lenovo/thinkpad/x220>` |
-| Lenovo ThinkPad X230 | `<nixos-hardware/lenovo/thinkpad/x230>` |
-| Lenovo ThinkPad X250 | `<nixos-hardware/lenovo/thinkpad/x250>` |
-| [Lenovo ThinkPad X260][] | `<nixos-hardware/lenovo/thinkpad/x260>` |
-| Lenovo ThinkPad X270 | `<nixos-hardware/lenovo/thinkpad/x270>` |
-| [Lenovo ThinkPad X1 (6th Gen)][] | `<nixos-hardware/lenovo/thinkpad/x1/6th-gen>`|
-| [Microsoft Surface Pro 3][] | `<nixos-hardware/microsoft/surface-pro/3>` |
-| PC Engines APU | `<nixos-hardware/pcengines/apu>` |
-| [Raspberry Pi 2][] | `<nixos-hardware/raspberry-pi/2>` |
-| [Samsung Series 9 NP900X3C][] | `<nixos-hardware/samsung/np900x3c>` |
-| [Purism Librem 13v3][] | `<nixos-hardware/purism/librem/13v3>` |
-| Supermicro A1SRi-2758F | `<nixos-hardware/supermicro/a1sri-2758f>` |
-| Supermicro X10SLL-F | `<nixos-hardware/supermicro/x10sll-f>` |
-| [Toshiba Chromebook 2 `swanky`][] | `<nixos-hardware/toshiba/swanky>` |
+| Model | Path |
+| --------------------------------- | -------------------------------------------------- |
+| [Acer Aspire 4810T][] | `<nixos-hardware/acer/aspire/4810t>` |
+| Airis N990 | `<nixos-hardware/airis/n990>` |
+| Apple MacBook Air 4,X | `<nixos-hardware/apple/macbook-air/4>` |
+| Apple MacBook Air 6,X | `<nixos-hardware/apple/macbook-air/6>` |
+| [Apple MacBook Pro 10,1][] | `<nixos-hardware/apple/macbook-pro/10-1>` |
+| Apple MacBook Pro 12,1 | `<nixos-hardware/apple/macbook-pro/12-1>` |
+| BeagleBoard PocketBeagle | `<nixos-hardware/beagleboard/pocketbeagle>` |
+| [Dell XPS 13 9360][] | `<nixos-hardware/dell/xps/13-9360>` |
+| [Dell XPS 13 9370][] | `<nixos-hardware/dell/xps/13-9370>` |
+| [Dell XPS 13 9380][] | `<nixos-hardware/dell/xps/13-9380>` |
+| [Dell XPS 15 9550][] | `<nixos-hardware/dell/xps/15-9550>` |
+| [Inverse Path USB armory][] | `<nixos-hardware/inversepath/usbarmory>` |
+| Lenovo IdeaPad Z510 | `<nixos-hardware/lenovo/ideapad/z510>` |
+| Lenovo ThinkPad T410 | `<nixos-hardware/lenovo/thinkpad/t410>` |
+| Lenovo ThinkPad T430 | `<nixos-hardware/lenovo/thinkpad/t430>` |
+| Lenovo ThinkPad T440s | `<nixos-hardware/lenovo/thinkpad/t440s>` |
+| Lenovo ThinkPad T440p | `<nixos-hardware/lenovo/thinkpad/t440p>` |
+| Lenovo ThinkPad T450s | `<nixos-hardware/lenovo/thinkpad/t450s>` |
+| Lenovo ThinkPad T460s | `<nixos-hardware/lenovo/thinkpad/t460s>` |
+| Lenovo ThinkPad T470s | `<nixos-hardware/lenovo/thinkpad/t470s>` |
+| Lenovo ThinkPad T480s | `<nixos-hardware/lenovo/thinkpad/t480s>` |
+| Lenovo ThinkPad T490 | `<nixos-hardware/lenovo/thinkpad/t490>` |
+| Lenovo ThinkPad X140e | `<nixos-hardware/lenovo/thinkpad/x140e>` |
+| Lenovo ThinkPad X220 | `<nixos-hardware/lenovo/thinkpad/x220>` |
+| Lenovo ThinkPad X230 | `<nixos-hardware/lenovo/thinkpad/x230>` |
+| Lenovo ThinkPad X250 | `<nixos-hardware/lenovo/thinkpad/x250>` |
+| [Lenovo ThinkPad X260][] | `<nixos-hardware/lenovo/thinkpad/x260>` |
+| Lenovo ThinkPad X270 | `<nixos-hardware/lenovo/thinkpad/x270>` |
+| [Lenovo ThinkPad X1 (6th Gen)][] | `<nixos-hardware/lenovo/thinkpad/x1/6th-gen>` |
+| Lenovo ThinkPad X1 Extreme Gen 2 | `<nixos-hardware/lenovo/thinkpad/x1-extreme/gen2>` |
+| [Microsoft Surface Pro 3][] | `<nixos-hardware/microsoft/surface-pro/3>` |
+| PC Engines APU | `<nixos-hardware/pcengines/apu>` |
+| [Raspberry Pi 2][] | `<nixos-hardware/raspberry-pi/2>` |
+| [Samsung Series 9 NP900X3C][] | `<nixos-hardware/samsung/np900x3c>` |
+| [Purism Librem 13v3][] | `<nixos-hardware/purism/librem/13v3>` |
+| Supermicro A1SRi-2758F | `<nixos-hardware/supermicro/a1sri-2758f>` |
+| Supermicro X10SLL-F | `<nixos-hardware/supermicro/x10sll-f>` |
+| [Toshiba Chromebook 2 `swanky`][] | `<nixos-hardware/toshiba/swanky>` |
[Acer Aspire 4810T]: acer/aspire/4810t
[Apple MacBook Pro 10,1]: apple/macbook-pro/10-1
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" ];
+ })
+ ];
+}