diff options
author | Tim Keller <tjkeller.xyz> | 2025-05-21 20:09:21 -0500 |
---|---|---|
committer | Tim Keller <tjkeller.xyz> | 2025-05-21 20:09:21 -0500 |
commit | c26ab56ee95fe9b6a4daba6a80a6a7eaa82e760c (patch) | |
tree | 6b2b6a11a2f0e03b883a462147005f8d69900e0f /modules | |
parent | 90406c8cd0fdf1164789fc217af5878210064686 (diff) | |
download | nixos-c26ab56ee95fe9b6a4daba6a80a6a7eaa82e760c.tar.xz nixos-c26ab56ee95fe9b6a4daba6a80a6a7eaa82e760c.zip |
bios flashing and noise mitigation for librex60
Diffstat (limited to 'modules')
-rw-r--r-- | modules/hosts/libreX60/bios-flashing.nix | 8 | ||||
-rw-r--r-- | modules/hosts/libreX60/configuration.nix | 7 | ||||
-rw-r--r-- | modules/hosts/libreX60/powertop-auto-tune.nix | 17 |
3 files changed, 31 insertions, 1 deletions
diff --git a/modules/hosts/libreX60/bios-flashing.nix b/modules/hosts/libreX60/bios-flashing.nix new file mode 100644 index 0000000..6117813 --- /dev/null +++ b/modules/hosts/libreX60/bios-flashing.nix @@ -0,0 +1,8 @@ +# https://libreboot.org/docs/install/#thinkpad-t60x60x60tabletx60s + +{ pkgs, ... }: { + environment.systemPackages = [ pkgs.flashprog ]; + + boot.kernelParams = [ "iomem=relaxed" ]; +} + diff --git a/modules/hosts/libreX60/configuration.nix b/modules/hosts/libreX60/configuration.nix index b2acd8c..6a681ed 100644 --- a/modules/hosts/libreX60/configuration.nix +++ b/modules/hosts/libreX60/configuration.nix @@ -1,5 +1,10 @@ { config, lib, pkgs, ... }: { - imports = [ ./hardware-configuration.nix ]; + imports = [ + ./hardware-configuration.nix + ./powertop-auto-tune.nix + # Uncomment this module and reboot to enable bios flashing + #./bios-flashing.nix + ]; # Use grub bootloader = { diff --git a/modules/hosts/libreX60/powertop-auto-tune.nix b/modules/hosts/libreX60/powertop-auto-tune.nix new file mode 100644 index 0000000..0eb9578 --- /dev/null +++ b/modules/hosts/libreX60/powertop-auto-tune.nix @@ -0,0 +1,17 @@ +# https://en.wikibooks.org/wiki/Libreboot/ThinkPad_X60#Remove_High_Pitched_Whining_Noise +# TLDR; running `powertop --auto-tune` is supposed to kill the high pitched noises produced by the X60 + +{ pkgs, ... }: { + environment.systemPackages = [ pkgs.powertop ]; + + # Create systemd service + systemd.services.powertop-autotune = { + description = "Powertop Auto-Tune"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.powertop}/bin/powertop --auto-tune"; + }; + }; +} |