summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorTim Keller <tjkeller.xyz>2025-05-21 20:09:21 -0500
committerTim Keller <tjkeller.xyz>2025-05-21 20:09:21 -0500
commitc26ab56ee95fe9b6a4daba6a80a6a7eaa82e760c (patch)
tree6b2b6a11a2f0e03b883a462147005f8d69900e0f /modules
parent90406c8cd0fdf1164789fc217af5878210064686 (diff)
downloadnixos-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.nix8
-rw-r--r--modules/hosts/libreX60/configuration.nix7
-rw-r--r--modules/hosts/libreX60/powertop-auto-tune.nix17
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";
+ };
+ };
+}