Compare commits

..

2 commits

4 changed files with 86 additions and 7 deletions

View file

@ -19,6 +19,10 @@
desktop.sway = {
enable = true;
kanshi = true;
waybar = {
laptop = true;
gpuThermal.enable = false;
};
};
};
}

View file

@ -19,6 +19,17 @@
desktop.sway = {
enable = true;
kanshi = false;
waybar = {
laptop = false;
gpuThermal = {
enable = true;
hmonPath = "/sys/class/hwmon/hwmon1/temp1_input";
};
cpuThermal = {
hwmonPathAbs = "/sys/devices/pci0000:00/0000:00:18.3/hwmon/";
inputFilename = "temp3_input";
};
};
};
};
}

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}";