diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 16:23:40 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 16:24:02 +0000 |
commit | 8c0790eb6095ef59a9623596f5794d250b95c699 (patch) | |
tree | 4801e46054b433e786e15d030b6cab991d8a6724 /modules/nixos-hardware/lenovo | |
parent | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (diff) | |
parent | 99cdc883064ac5a1b9e189d3500a809616e79765 (diff) | |
download | nixlib-8c0790eb6095ef59a9623596f5794d250b95c699.tar nixlib-8c0790eb6095ef59a9623596f5794d250b95c699.tar.gz nixlib-8c0790eb6095ef59a9623596f5794d250b95c699.tar.bz2 nixlib-8c0790eb6095ef59a9623596f5794d250b95c699.tar.lz nixlib-8c0790eb6095ef59a9623596f5794d250b95c699.tar.xz nixlib-8c0790eb6095ef59a9623596f5794d250b95c699.tar.zst nixlib-8c0790eb6095ef59a9623596f5794d250b95c699.zip |
Add 'modules/nixos-hardware/' from commit '99cdc883064ac5a1b9e189d3500a809616e79765'
git-subtree-dir: modules/nixos-hardware git-subtree-mainline: 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 git-subtree-split: 99cdc883064ac5a1b9e189d3500a809616e79765
Diffstat (limited to 'modules/nixos-hardware/lenovo')
19 files changed, 274 insertions, 0 deletions
diff --git a/modules/nixos-hardware/lenovo/ideapad/default.nix b/modules/nixos-hardware/lenovo/ideapad/default.nix new file mode 100644 index 000000000000..d774ba3793af --- /dev/null +++ b/modules/nixos-hardware/lenovo/ideapad/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ../../common/pc/laptop ]; +} diff --git a/modules/nixos-hardware/lenovo/ideapad/z510/default.nix b/modules/nixos-hardware/lenovo/ideapad/z510/default.nix new file mode 100644 index 000000000000..83f656806854 --- /dev/null +++ b/modules/nixos-hardware/lenovo/ideapad/z510/default.nix @@ -0,0 +1,11 @@ +{ lib, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; + + # https://github.com/NixOS/nixpkgs/issues/18356 + boot.blacklistedKernelModules = [ "nouveau" ]; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/default.nix b/modules/nixos-hardware/lenovo/thinkpad/default.nix new file mode 100644 index 000000000000..ff22639b4fdc --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/default.nix @@ -0,0 +1,10 @@ +{ lib, pkgs, ... }: + +{ + imports = [ ../../common/pc/laptop ]; + + hardware.trackpoint.enable = lib.mkDefault true; + + # Fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) + # services.fprintd.enable = true; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/t410/default.nix b/modules/nixos-hardware/lenovo/thinkpad/t410/default.nix new file mode 100644 index 000000000000..c40801ffc0bc --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/t410/default.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../tp-smapi.nix + ../../../common/cpu/intel + ]; + + boot = { + # TODO: this configuration seems to be very aggressive. + # Ask @peti if it's stable or not. + kernelParams = [ + "drm.debug=0" + "drm.vblankoffdelay=1" + "i915.semaphores=1" + "i915.modeset=1" + "i915.use_mmio_flip=1" + "i915.powersave=1" + "i915.enable_ips=1" + "i915.disable_power_well=1" + "i915.enable_hangcheck=1" + "i915.enable_cmd_parser=1" + "i915.fastboot=0" + "i915.enable_ppgtt=1" + "i915.reset=0" + "i915.lvds_use_ssc=0" + "i915.enable_psr=0" + "vblank_mode=0" + "i915.i915_enable_rc6=1" + ]; + blacklistedKernelModules = [ + "sierra_net" "cdc_mbim" "cdc_ncm" "btusb" + ]; + }; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/t430/default.nix b/modules/nixos-hardware/lenovo/thinkpad/t430/default.nix new file mode 100644 index 000000000000..09cee74942e9 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/t430/default.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; + + boot = { + kernelParams = [ + # fixes brightness keys, see https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T430s + "acpi_osi\='!Windows 2012'" + ]; + }; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/t440p/default.nix b/modules/nixos-hardware/lenovo/thinkpad/t440p/default.nix new file mode 100644 index 000000000000..4dd4085794fa --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/t440p/default.nix @@ -0,0 +1,16 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; + + boot = { + extraModprobeConfig = lib.mkDefault '' + options bbswitch use_acpi_to_detect_card_state=1 + ''; + # TODO: probably enable tcsd? Is this line necessary? + kernelModules = [ "tpm-rng" ]; + }; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/t450s/default.nix b/modules/nixos-hardware/lenovo/thinkpad/t450s/default.nix new file mode 100644 index 000000000000..e62337171b9a --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/t450s/default.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../. + ]; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/t460s/default.nix b/modules/nixos-hardware/lenovo/thinkpad/t460s/default.nix new file mode 100644 index 000000000000..41558a35b7f6 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/t460s/default.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../. + ]; + + # TODO: boot loader + boot.loader.systemd-boot.enable = lib.mkDefault true; + boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/t480s/default.nix b/modules/nixos-hardware/lenovo/thinkpad/t480s/default.nix new file mode 100644 index 000000000000..3e079d5fb060 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/t480s/default.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/cpu-throttling-bug.nix + ../. + ]; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/tp-smapi.nix b/modules/nixos-hardware/lenovo/thinkpad/tp-smapi.nix new file mode 100644 index 000000000000..451dd28ece03 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/tp-smapi.nix @@ -0,0 +1,11 @@ +# tp_smapi works on ThinkPads made before 2013. See compat table: +# https://www.thinkwiki.org/wiki/Tp_smapi#Model-specific_status + +{ config, ... }: + +{ + boot = { + kernelModules = [ "tp_smapi" ]; + extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ]; + }; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x1/6th-gen/QHD/default.nix new file mode 100644 index 000000000000..0b8555fbfb08 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -0,0 +1,36 @@ +# X1 6th generation with a QHD (2560x1440px) display +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ]; + + # Fix font sizes in X + services.xserver.dpi = 210; + fonts.fontconfig.dpi = 210; + + # Fix sizes of GTK/GNOME ui elements + environment.variables = { + GDK_SCALE = lib.mkDefault "2"; + GDK_DPI_SCALE= lib.mkDefault "0.5"; + }; + # Enable readable font on console. The example configuration that + # follows is taliored towards western languages. To see how to + # configure the font download the source tarball from + # http://terminus-font.sourceforge.net/ and read the README file on + # the root dir + + # i18n = { + # # this means ISO8859-1 or ISO8859-15 or Windows-1252 codepages + # # (ter-1), 16x32 px (32), normal font weight (n) + # consoleFont = "ter-132n"; + # consoleKeyMap = "us"; + # defaultLocale = "en_US.UTF-8"; + # consolePackages = [ pkgs.terminus_font ]; + # }; + + # Early configure the console to make the font readable from the + # start + # boot.earlyVconsoleSetup = true; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x1/6th-gen/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x1/6th-gen/default.nix new file mode 100644 index 000000000000..9584bc744571 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x1/6th-gen/default.nix @@ -0,0 +1,32 @@ +# A good source of information about how to fix the issues still +# standing with kernel 4.6.11 is the following wiki page: +# https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6). The +# TrackPoint and TouchPad issues there seem to have been fixed already. + +{ config, pkgs, ... }: +{ + imports = [ + ../. + ../../../../common/pc/laptop/acpi_call.nix + ../../../../common/pc/laptop/cpu-throttling-bug.nix + ]; + + # See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery + services.tlp.extraConfig = '' + START_CHARGE_THRESH_BAT0=75 + STOP_CHARGE_THRESH_BAT0=80 + CPU_SCALING_GOVERNOR_ON_BAT=powersave + ENERGY_PERF_POLICY_ON_BAT=powersave + ''; + + # Enable S3 suspend state: you have to manually follow the + # instructions shown here: https://delta-xi.net/#056 in order to + # produce the ACPI patched table. Put the CPIO archive in /boot and + # then enable the following lines + # boot.kernelParams = [ + # "mem_sleep_default=deep" + # ]; + # boot.initrd.prepend = [ + # "${/boot/acpi_override}" + # ]; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x1/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x1/default.nix new file mode 100644 index 000000000000..870d9a857742 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x1/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x140e/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x140e/default.nix new file mode 100644 index 000000000000..c03410e936e2 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x140e/default.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/amd + ]; + + boot.extraModprobeConfig = lib.mkDefault '' + options snd_hda_intel enable=0,1 + ''; + + services.xserver.videoDrivers = [ "ati" ]; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x220/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x220/default.nix new file mode 100644 index 000000000000..3cf18e397469 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x220/default.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/hdd # TODO: reverse compat + ../tp-smapi.nix + ]; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x230/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x230/default.nix new file mode 100644 index 000000000000..58b09f4c5d5f --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x230/default.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ]; + + boot = { + kernelModules = [ + "tpm-rng" + ]; + }; + + services.xserver.deviceSection = lib.mkDefault '' + Option "TearFree" "true" + ''; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x250/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x250/default.nix new file mode 100644 index 000000000000..870d9a857742 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x250/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x260/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x260/default.nix new file mode 100644 index 000000000000..d64a53075163 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x260/default.nix @@ -0,0 +1,12 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ]; + + # https://wiki.archlinux.org/index.php/TLP#Btrfs + services.tlp.extraConfig = '' + SATA_LINKPWR_ON_BAT=med_power_with_dipm + ''; +} diff --git a/modules/nixos-hardware/lenovo/thinkpad/x270/default.nix b/modules/nixos-hardware/lenovo/thinkpad/x270/default.nix new file mode 100644 index 000000000000..870d9a857742 --- /dev/null +++ b/modules/nixos-hardware/lenovo/thinkpad/x270/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; +} |