diff options
Diffstat (limited to 'modules/home-manager/waybar.nix')
| -rw-r--r-- | modules/home-manager/waybar.nix | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix new file mode 100644 index 0000000..c35bc75 --- /dev/null +++ b/modules/home-manager/waybar.nix @@ -0,0 +1,136 @@ +{ config, ... }: { + programs.waybar = { + enable = true; + systemd.enable = true; + systemd.target = "hyprland-session.target"; + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 40; + modules-left = [ "hyprland/workspaces" ]; + modules-center = [ "clock" ]; + modules-right = [ "idle_inhibitor" "pulseaudio" "bluetooth" "network" "backlight/slider" "battery" "cpu" "temperature" "memory" "keyboard_state" "tray" ]; + + "tray" = { + icon-size = 21; + spacing = 10; + }; + "idle_inhibitor" = { + format = "{icon}"; + format-icons = { + activated = ""; + deactivated = ""; + }; + }; + "pulseaudio" = { + # // "scroll-step": 1, // %, can be a float + format = "{volume}% {icon} {format_source}"; + format-bluetooth = "{volume}% {icon} {format_source}"; + format-bluetooth-muted = " {icon} {format_source}"; + format-muted = " {format_source}"; + format-source = "{volume}% "; + format-source-muted = ""; + "format-icons" = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ "" "" "" ]; + }; + on-click = "pavucontrol"; + }; + "wireplumber" = { + on-click = "helvum"; + max-volume = 150; + scroll-step = 0.2; + + # format-bluetooth = "{volume}% {icon} {format_source}"; + # format-bluetooth-muted = " {icon} {format_source}"; + format-muted = " "; + format = "{volume}% {icon} "; + # format-source-muted = ""; + format-icons = { + # headphone = ""; + # hands-free = ""; + # headset = ""; + # phone = ""; + # portable = ""; + # car = ""; + default = [ "" "" "" ]; + }; + # on-click = "pavucontrol" + }; + "network" = { + format-wifi = "{essid} ({signalStrength}%) "; + format-ethernet = "{ipaddr}/{cidr} "; + tooltip-format = "{ifname} via {gwaddr} "; + format-linked = "{ifname} (No IP) "; + format-disconnected = "Disconnected ⚠"; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + }; + "backlight/slider" = { + min = 1; + max = 100; + orientation = "horizontal"; + # device = "intel_backlight"; + }; + "clock" = { + format = "{:%H:%M} "; + format-alt = "{:%A, %B %d, %Y (%R)} "; + # timezone = config.time.timeZone; + timezone = "US/Mountain"; + tooltip-format = "<tt><small>{calendar}</small></tt>"; + "calendar" = { + mode = "year"; + mode-mon-col = 3; + weeks-pos = "right"; + on-scroll = 1; + on-right-click = "mode"; + "format" = { + months = "<span color='#ffead3'><b>{}</b></span>"; + days = "<span color='#ecc6d9'><b>{}</b></span>"; + weeks = "<span color='#99ffdd'><b>W{}</b></span>"; + weekdays = "<span color='#ffcc66'><b>{}</b></span>"; + today = "<span color='#ff6699'><b><u>{}</u></b></span>"; + }; + }; + }; + "battery" = { + interval = 60; + states = { + "warning" = 30; + "critical" = 15; + }; + format = "{capacity}% {icon}"; + format-icons = [ "" "" "" "" "" ]; + max-length = 25; + }; + "cpu" = { + format = "{usage}% "; + tooltip = false; + }; + "memory" = { + format = "{used:0.1f}G/{total:0.1f}G "; + }; + "temperature" = { + format = "{temperatureC}°C "; + }; + "keyboard-state" = { + numlock = true; + capslock = true; + "format" = { + numlock = "N {icon}"; + # capslock = "C {icon}"; + }; + "format-icons" = { + locked = ""; + unlocked = ""; + }; + }; + }; + }; + }; +} |
