Add variables for thermal monitoring on waybar

This commit is contained in:
Yorick Barbanneau 2024-02-19 00:16:54 +01:00
parent 51142c3af0
commit de6fb52e25
2 changed files with 71 additions and 7 deletions

View file

@ -12,6 +12,43 @@ in
default = false;
description = "configure laptop mode";
};
waybar = {
laptop = mkOption {
type = types.bool;
default = false;
description = "Enable laptop element on Waybar";
};
cpuThermal = {
hwmonPathAbs = mkOption {
type = types.str;
default = "";
description = "CPU thermal hwmon absolute path";
};
inputFilename = mkOption {
type = types.str;
default = "";
description = "CPU thermal hwmon file";
};
};
gpuThermal = {
enable = mkOption {
type = types.bool;
default = false;
description = "enable waybar GPU temperature";
};
hmonPath = mkOption {
type = types.str;
default = "";
description = "Thermal zone for CPU";
};
};
};
};
imports = [
./includes/fuzzel.nix

View file

@ -1,7 +1,10 @@
{config, lib, ...}:
{lib, config, ...}:
with lib;
let
cfg = config.modules.desktop.sway;
in
{
config = mkIf config.modules.desktop.sway.enable {
config = mkIf cfg.enable {
programs.waybar = {
enable = true;
systemd = {
@ -21,12 +24,30 @@ with lib;
modules-right = [
"network"
"custom/sep"
"backlight"
"battery"
"custom/sep"
] ++ (
if cfg.waybar.laptop then [
"backlight"
"battery"
"custom/sep"
]
else [
]
) ++
[
"memory"
"cpu"
"custom/sep"
"temperature"
"custom/sep"
] ++ (
if cfg.waybar.gpuThermal.enable then [
"temperature#gpu"
"custom/sep"
]
else [
]
) ++
[
"pulseaudio"
"custom/sep"
"clock"
@ -100,7 +121,13 @@ with lib;
"temperature" = {
"critical-threshold" = 80;
"format" = "{temperatureC}°C ";
"thermal-zone" = "6";
"hwmon-path-abs" = "${cfg.waybar.cpuThermal.hwmonPathAbs}";
"input-filename" = "${cfg.waybar.cpuThermal.inputFilename}";
};
"temperature#gpu" = {
"critical-threshold" = 80;
"format" = "GPU: {temperatureC}°C ";
"hwmon-path" = "${cfg.waybar.gpuThermal.hmonPath}";
};
"backlight" = {
"format" = "{percent}% {icon}";