diff --git a/.config/waybar/nvidia.sh b/.config/waybar/nvidia.sh new file mode 100755 index 0000000..3de20d6 --- /dev/null +++ b/.config/waybar/nvidia.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +nvidia-smi --query-gpu=utilization.gpu,power.draw,temperature.gpu --format=csv,noheader | xargs -I {} echo "GPU: {}°C" diff --git a/home-manager/hyprland/styles/stats.css b/home-manager/hyprland/styles/stats.css index 9169773..a487d19 100644 --- a/home-manager/hyprland/styles/stats.css +++ b/home-manager/hyprland/styles/stats.css @@ -1,3 +1,5 @@ +@define-color nvidia-green #76b900; + #other, #other-drawer, #stats, @@ -16,6 +18,7 @@ #memory, #temperature, #disk, +#nvidia, #network { padding: 0 0.5em; } @@ -36,6 +39,10 @@ color: @blue; } +#custom-nvidia { + color: @nvidia-green; +} + #network.disconnected { background-color: #f53c3c; } diff --git a/home-manager/hyprland/waybar.nix b/home-manager/hyprland/waybar.nix index 6fb56d3..bf8753b 100644 --- a/home-manager/hyprland/waybar.nix +++ b/home-manager/hyprland/waybar.nix @@ -11,6 +11,11 @@ in { statsStyle = builtins.readFile ./styles/stats.css; workspacesStyle = builtins.readFile ./styles/workspaces.css; in lib.mkIf cfg.enable { + + home.file.".config/waybar" = { + recursive = true; + source = ../../.config/waybar; + }; programs.waybar = { enable = true; #systemd.enable = true; @@ -29,7 +34,7 @@ in { modules-right = [ "group/stats" "group/other" ]; "group/stats" = { "orientation" = "horizontal"; - "modules" = [ "network" "cpu" "memory" "disk" "temperature" ]; + "modules" = [ "network" "cpu" "memory" "disk" "temperature" "custom/nvidia" ]; }; "group/other" = { "orientation" = "horizontal"; @@ -136,6 +141,12 @@ in { }; "status-icons" = { "paused" = "⏸"; }; }; + "custom/nvidia" = { + "format" = "{}"; + "interval" = 5; + "exec" = "~/.config/waybar/nvidia.sh"; + "exec-if" = "nvidia-smi"; + }; "tray".icon-size = 21; "tray".spacing = 10; "hyprland/window" = {