{ pkgs, config, repoFlake, ... }: { home.packages = [ # required by any bar that has a tray plugin pkgs.libappindicator-gtk3 pkgs.libdbusmenu-gtk3 ]; programs.waybar = { enable = true; package = repoFlake.inputs.nixpkgs-wayland.outputs.packages.${pkgs.stdenv.hostPlatform.system}.waybar; style = pkgs.lib.readFile "${pkgs.waybar.src}/resources/style.css" + pkgs.lib.readFile ./waybar.css; systemd.enable = true; settings = { mainBar = { layer = "top"; position = "bottom"; height = 30; output = ["*"]; # output = [ # "eDP-1" # "DP-*" # ]; modules-left = [ "sway/workspaces" "sway/mode" # "wlr/taskbar" ]; "sway/workspaces" = { disable-scroll = true; all-outputs = false; }; modules-center = [ "sway/window" # "custom/hello-from-waybar" ]; modules-right = [ "tray" "cpu" "memory" "custom/cputemp" "custom/fan" "battery" "pulseaudio" "clock" "clock#date" ]; tray.spacing = 10; cpu.format = " {usage}%"; memory.format = " {}%"; "temperature" = { hwmon-path = "/sys/class/hwmon/hwmon3/temp1_input"; format = " {temperatureC} °C"; }; "custom/cputemp" = { format = " {}"; exec = "${pkgs.lm_sensors}/bin/sensors | ${pkgs.gawk}/bin/awk '/CPU:/ {print $2}'"; interval = 2; }; "custom/fan" = { format = "  {} rpm "; exec = "${pkgs.lm_sensors}/bin/sensors | ${pkgs.gawk}/bin/awk '/fan1:/ {print $2}'"; interval = 2; }; battery.format = "🔋 {}%"; pulseaudio = { format = "🔉 {volume}%"; # on-click-middle = ''${pkgs.sway}/bin/swaymsg exec "${pkgs.pavucontrol}/bin/pavucontrol"''; }; clock.format = "{:%H:%M %p}"; "clock#date".format = "{:%a, %d %b '%y}"; }; }; }; }