mirror of
https://github.com/NixOS/nixos-hardware
synced 2024-12-25 02:59:45 +01:00
2bf94227c1
`throttled` is a service designed to fix the same CPU throttling bug, but it's an actively maintainted upstream project that we can use.
48 lines
1.3 KiB
Nix
48 lines
1.3 KiB
Nix
{ config, lib, ... }:
|
||
|
||
with lib;
|
||
|
||
{
|
||
imports = [
|
||
../.
|
||
];
|
||
|
||
# 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" ];
|
||
})
|
||
];
|
||
|
||
services.throttled.enable = lib.mkDefault true;
|
||
}
|