{ # https://github.com/Alexays/Waybar/wiki/Module:-Hyprland # https://www.nerdfonts.com/cheat-sheet programs.waybar = { enable = true; systemd.enable = true; settings = { mainBar = { layer = "bottom"; position = "top"; mod = "dock"; exclusive = true; passthrough = false; gtk-layer-shell = true; height = 0; modules-left = [ "hyprland/workspaces" ]; modules-center = [ "hyprland/window" ]; modules-right = [ "tray" "custom/updates" "temperature" "temperature#gpu" "keyboard-state#capslock" "keyboard-state#numlock" "pulseaudio" "pulseaudio#microphone" "clock" "custom/weather" ]; "hyprland/window" = { separate-outputs = true; format = { }; }; "hyprland/workspaces" = { disable-scroll = true; all-outputs = true; on-click = "activate"; persistent_workspaces = { "*" = 1; }; }; "custom/weather" = { tooltip = true; format = { }; interval = 30; exec = "sudo waybar-weather"; return-type = "json"; }; "custom/updates" = { tooltip = true; format = { }; interval = 60; exec = "sudo waybar-updates"; return-type = "json"; }; temperature = { hwmon-path = "/sys/class/hwmon/hwmon4/temp1_input"; critical-threshold = 90; format-critical = "{temperatureC}°C {icon}"; format = "{temperatureC}°C {icon}"; format-icons = [ "" # fa-temperature-empty "" # fa-temperature-quarter "" # fa-temperature-half "" # fa-temperature-three-quarters "" # fa-temperature-full "" # fa-temperature-high ]; tooltip-format = "CPU: {temperatureC}°C"; }; "temperature#gpu" = { hwmon-path = "/sys/class/hwmon/hwmon0/temp1_input"; critical-threshold = 100; format-critical = "{temperatureC}°C {icon}"; format = "{temperatureC}°C {icon}"; format-icons = [ "" # fa-temperature-empty "" # fa-temperature-quarter "" # fa-temperature-half "" # fa-temperature-three-quarters "" # fa-temperature-full "" # fa-temperature-high ]; on-click = "lact"; tooltip-format = "GPU: {temperatureC}°C"; }; tray = { icon-size = 16; spacing = 10; }; clock = { format = "{:%I:%M %p}"; tooltip-format = "{:%Y %B}\n{calendar}"; }; pulseaudio = { format = "{icon} {volume}%"; tooltip = false; format-muted = " Muted"; on-click = "pamixer -t"; on-click-right = "pavucontrol -t 1"; on-scroll-up = "pamixer -i 5"; on-scroll-down = "pamixer -d 5"; scroll-step = 5; format-icons = { headphone = "󰋋"; headphone-muted = "󰟎"; hands-free = "󰋋"; headset = "󰋋"; phone = ""; portable = "󰋋"; car = ""; default = [ "" "" "" "" ]; }; }; "pulseaudio#microphone" = { format = "{format_source}"; format-source = ""; format-source-muted = ""; on-click = "pamixer --default-source -t"; on-click-right = "pavucontrol -t 2"; on-scroll-up = "pamixer --default-source -i 5"; on-scroll-down = "pamixer --default-source -d 5"; scroll-step = 5; }; "keyboard-state#capslock" = { capslock = true; icon-size = 20; format = "{icon}"; format-icons = { locked = "󰪛"; unlocked = ""; }; }; "keyboard-state#numlock" = { numlock = true; icon-size = 30; format = "{icon}"; format-icons = { locked = "󰎣"; unlocked = ""; }; }; }; }; # https://catppuccin.com/palette style = '' @define-color rosewater #f4dbd6; @define-color flamingo #f0c6c6; @define-color pink #f5bde6; @define-color mauve #c6a0f6; @define-color red #ed8796; @define-color maroon #ee99a0; @define-color peach #f5a97f; @define-color yellow #eed49f; @define-color green #a6da95; @define-color teal #8bd5ca; @define-color sky #91d7e3; @define-color sapphire #7dc4e4; @define-color blue #8aadf4; @define-color lavender #b7bdf8; @define-color text #cad3f5; @define-color subtext1 #b8c0e0; @define-color subtext0 #a5adcb; @define-color overlay2 #939ab7; @define-color overlay1 #8087a2; @define-color overlay0 #6e738d; @define-color surface2 #5b6078; @define-color surface1 #494d64; @define-color surface0 #363a4f; @define-color base #24273a; @define-color mantle #1e2030; @define-color crust #181926; /*@import "macchiato.css";*/ * { font-family: Jetbrains Mono Nerd Font, monospace; font-size: 14px; min-height: 0; } #waybar { background: transparent; color: @text; margin: 5px 5px; } #workspaces { padding: 0.5rem 1rem; margin: 5px 0; border-radius: 1rem; background-color: @surface0; opacity: 0.6; margin-left: 1rem; } #workspaces button { color: @lavender; border-radius: 1rem; padding: 0.4rem; } #workspaces button.active { color: @sky; border-radius: 1rem; } #workspaces button:hover { color: @sapphire; border-radius: 1rem; } #workspaces button.focused { color: @subtext0; background: @yellow; border-radius: 1rem; } #workspaces button.urgent { color: @crust; background: @subtext0; border-radius: 1rem; } #tooltip { background: @surface0; border-radius: 1rem; border-width: 1rem; border-style: solid; border-color: @crust; } #window { color: @lavender; background-color: @surface0; opacity: 0.6; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 1rem; margin-left: 6rem; margin-right: 6rem; } #custom-weather { color: @rosewater; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 0rem 1rem 1rem 0rem; margin-right: 1rem; } #clock { color: @flamingo; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 1rem 0rem 0rem 1rem; margin-left: 1rem; } /* ------------- */ #pulseaudio.microphone { color: @mauve; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 0rem 1rem 1rem 0rem; } #pulseaudio { color: @red; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 0; } #keyboard-state.numlock { color: @maroon; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 0; font-size: 50px; } #keyboard-state.capslock { color: @peach; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 0; font-size: 18px; } #temperature.gpu { color: @yellow; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 0; } #temperature { color: @green; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 0; } #custom-updates { color: @teal; background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; border-radius: 1rem 0rem 0rem 1rem; margin-left: 1rem; } /* ------------- */ #tray { background-color: @surface0; padding: 0.5rem 1rem; margin: 5px 0; margin-right: 1rem; border-radius: 1rem; } ''; }; }