From a02ab9b9364f9212c0d5d2c27b49793f6f3bc0bb Mon Sep 17 00:00:00 2001 From: Simon Parri Date: Tue, 17 Jun 2025 02:18:39 -0500 Subject: modules/zcfan -> modules/thinkpad --- hosts/tomato/hardware.nix | 2 +- modules/default.nix | 2 +- modules/thinkpad.nix | 32 ++++++++++++++++++++++++++++++++ modules/zcfan.nix | 25 ------------------------- 4 files changed, 34 insertions(+), 27 deletions(-) create mode 100644 modules/thinkpad.nix delete mode 100644 modules/zcfan.nix diff --git a/hosts/tomato/hardware.nix b/hosts/tomato/hardware.nix index baecca1..0e2b9aa 100644 --- a/hosts/tomato/hardware.nix +++ b/hosts/tomato/hardware.nix @@ -59,7 +59,7 @@ in MAX_LOST_WORK_SECS_ON_AC = 30; }; - this.laptop.zcfan.enable = true; + this.laptop.thinkpad.enable = true; nixpkgs.hostPlatform = "x86_64-linux"; } diff --git a/modules/default.nix b/modules/default.nix index 243b152..5e2e17b 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -4,7 +4,7 @@ imports = [ ./gui.nix ./laptop.nix - ./zcfan.nix + ./thinkpad.nix ./locales.nix ./envfs.nix ./pc.nix diff --git a/modules/thinkpad.nix b/modules/thinkpad.nix new file mode 100644 index 0000000..00ccfbb --- /dev/null +++ b/modules/thinkpad.nix @@ -0,0 +1,32 @@ +{ lib, config, pkgs, ... }: + +let cfg = config.this.laptop.thinkpad; + mkZcfanConf = c: lib.generators.toKeyValue { + mkKeyValue = lib.generators.mkKeyValueDefault {} " "; + } c; + zcfanConf = mkZcfanConf cfg.zcfan.settings; +in +{ + options = { + this.laptop.thinkpad = { + enable = lib.mkEnableOption "thinkpad settings"; + zcfan = { + settings = lib.mkOption { + type = with lib.types; + attrsOf (oneOf [int str]); + default = { }; + description = "Settings for zcfan."; + }; + }; + }; + }; + + config = lib.mkIf cfg.enable { + boot.extraModprobeConfig = "options thinkpad_acpi fan_control=1"; + + environment.etc."zcfan.conf" = lib.mkIf (zcfanConf != "") { text = zcfanConf; }; + environment.systemPackages = [ pkgs.zcfan ]; + systemd.packages = [ pkgs.zcfan ]; + systemd.services.zcfan.wantedBy = [ "multi-user.target" ]; + }; +} diff --git a/modules/zcfan.nix b/modules/zcfan.nix deleted file mode 100644 index d26c07d..0000000 --- a/modules/zcfan.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, config, pkgs, ... }: - -let cfg = config.this.laptop.zcfan; - mkConf = c: lib.generators.toKeyValue { - mkKeyValue = lib.generators.mkKeyValueDefault {} " "; - } c; - conf = mkConf cfg.settings; -in -{ - options = { - this.laptop.zcfan.enable = lib.mkEnableOption "zcfan"; - this.laptop.zcfan.settings = lib.mkOption { - type = with lib.types; - attrsOf (oneOf [int str]); - default = { }; - description = "Settings for zcfan."; - }; - }; - - config = lib.mkIf cfg.enable { - environment.etc."zcfan.conf" = lib.mkIf (conf != "") { text = conf; }; - environment.systemPackages = [ pkgs.zcfan ]; - systemd.packages = [ pkgs.zcfan ]; - }; -} -- cgit v1.2.3