diff --git a/modules/home/programs/waybar/default.nix b/modules/home/programs/waybar/default.nix index d644a1c..3685d94 100755 --- a/modules/home/programs/waybar/default.nix +++ b/modules/home/programs/waybar/default.nix @@ -336,7 +336,8 @@ in }; temperature = { - hwmon-path = cfg.temperature.cpu.hwmonPath; + hwmon-path-abs = cfg.temperature.cpu.hwmonPath; + input-filename = cfg.temperature.cpu.hwmonFile; critical-threshold = 110; format-critical = "{temperatureC}°C "; format = "{temperatureC}°C {icon}"; @@ -546,7 +547,8 @@ in (mkIf cfg.temperature.gpu.enable { "temperature#gpu" = { - hwmon-path = cfg.temperature.gpu.hwmonPath; + hwmon-path-abs = cfg.temperature.gpu.hwmonPath; + input-filename = cfg.temperature.gpu.hwmonFile; critical-threshold = 110; format-critical = "{temperatureC}°C "; format = "{temperatureC}°C {icon}"; diff --git a/modules/home/programs/waybar/options.nix b/modules/home/programs/waybar/options.nix index f869663..6b9b28e 100644 --- a/modules/home/programs/waybar/options.nix +++ b/modules/home/programs/waybar/options.nix @@ -127,9 +127,14 @@ in }; hwmonPath = mkOption { type = str; - default = "/sys/class/hwmon/hwmon4/temp1_input"; + default = "/sys/devices/pci0000:00/0000:00:18.3/hwmon"; description = "CPU temperature hwmon path."; }; + hwmonFile = mkOption { + type = str; + default = "temp1_input"; + description = "CPU temperature hwmon file."; + }; }; }; default = { }; @@ -145,9 +150,14 @@ in }; hwmonPath = mkOption { type = str; - default = "/sys/class/hwmon/hwmon0/temp1_input"; + default = "/sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0/0000:02:00.0/0000:03:00.0/hwmon"; description = "GPU temperature hwmon path."; }; + hwmonFile = mkOption { + type = str; + default = "temp1_input"; + description = "GPU temperature hwmon file."; + }; }; }; default = { }; diff --git a/modules/nixos/hardware/amd/default.nix b/modules/nixos/hardware/amd/default.nix index 2e41650..6f43c0b 100755 --- a/modules/nixos/hardware/amd/default.nix +++ b/modules/nixos/hardware/amd/default.nix @@ -25,7 +25,7 @@ in config = lib.mkIf cfg.enable { boot = { - kernelModules = [ "nct6775" ]; + kernelModules = [ "nct6775" "k10temp" ]; kernelParams = [ (if cfg.enable then "amdgpu.ppfeaturemask=0xffffffff" else null) ]; }; @@ -61,17 +61,26 @@ in }; # nixpkg is broken so need to manually define - systemd.services.lactd = lib.mkIf cfg.lact.enable { - description = "AMDGPU Control Daemon"; - path = with pkgs; [ - bash - lact - ]; - script = '' - lact daemon - ''; - wantedBy = [ "multi-user.target" ]; - after = [ "multi-user.target" ]; + systemd.services = { + load-k10temp = { + description = "Load k10temp manually cause it wont otherwise"; + script = '' + ${pkgs.kmod}/bin/modprobe k10temp + ''; + wantedBy = [ "multi-user.target" ]; + }; + lactd = lib.mkIf cfg.lact.enable { + description = "AMDGPU Control Daemon"; + path = with pkgs; [ + bash + lact + ]; + script = '' + lact daemon + ''; + wantedBy = [ "multi-user.target" ]; + after = [ "multi-user.target" ]; + }; }; # Configure environment diff --git a/systems/x86_64-linux/matt-nixos/boot.nix b/systems/x86_64-linux/matt-nixos/boot.nix index 06829f6..8c1581b 100755 --- a/systems/x86_64-linux/matt-nixos/boot.nix +++ b/systems/x86_64-linux/matt-nixos/boot.nix @@ -11,6 +11,7 @@ in "kvm-amd" "i2c-dev" "ddcci_backlight" + "k10temp" ]; extraModulePackages = [ config.boot.kernelPackages.ddcci-driver ]; loader = {