From 9e70a1fd74cadc169f45f16dd0a05409468be70b Mon Sep 17 00:00:00 2001 From: Simon Parri Date: Tue, 17 Jun 2025 01:54:11 -0500 Subject: modules/zcfan: Add and use on tomato --- hosts/tomato/hardware.nix | 2 ++ modules/default.nix | 1 + modules/zcfan.nix | 25 +++++++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 modules/zcfan.nix diff --git a/hosts/tomato/hardware.nix b/hosts/tomato/hardware.nix index 67ed789..baecca1 100644 --- a/hosts/tomato/hardware.nix +++ b/hosts/tomato/hardware.nix @@ -59,5 +59,7 @@ in MAX_LOST_WORK_SECS_ON_AC = 30; }; + this.laptop.zcfan.enable = true; + nixpkgs.hostPlatform = "x86_64-linux"; } diff --git a/modules/default.nix b/modules/default.nix index 54af441..243b152 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -4,6 +4,7 @@ imports = [ ./gui.nix ./laptop.nix + ./zcfan.nix ./locales.nix ./envfs.nix ./pc.nix diff --git a/modules/zcfan.nix b/modules/zcfan.nix new file mode 100644 index 0000000..d26c07d --- /dev/null +++ b/modules/zcfan.nix @@ -0,0 +1,25 @@ +{ 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