diff options
Diffstat (limited to 'waybar.nix')
| -rw-r--r-- | waybar.nix | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/waybar.nix b/waybar.nix new file mode 100644 index 0000000..59a66ba --- /dev/null +++ b/waybar.nix @@ -0,0 +1,175 @@ +{ config, pkgs, ... }: +{ + programs.waybar = { + enable = true; + + settings = [ + { + output = [ "DP-3" ]; + height = 37; # Waybar height + spacing = 4; # Gaps between modules + + modules-left = [ + "hyprland/workspaces" + "hyprland/window" + ]; + + modules-center = [ + "mpris" + ]; + modules-right = [ + "idle_inhibitor" + "load" + "wireplumber" + "clock" + "battery" + "tray" + ]; + + "hyprland/workspaces" = { + all-outputs = true; + warp-on-scroll = false; + enable-bar-scroll = true; + disable-scroll-wraparound = true; + format = "{icon}"; + format-icons = { + "1" = ""; + "2" = ""; + "3" = ""; + "4" = ""; + "5" = ""; + "9" = ""; + "10" = ""; + }; + }; + + "hyprland/window" = { + format = "{title}"; + max-length = 40; + all-outputs = true; + }; + + mpris = { + format = " {status_icon} {dynamic}"; + interval = 1; + dynamic-len = 40; + dynamic-order = [ + "title" + "artist" + ]; + ignored-players = [ "firefox" ]; + status-icons = { + playing = "▶"; + paused = "⏸"; + stopped = ""; + }; + }; + + idle_inhibitor = { + format = "{icon}"; + format-icons = { + activated = ""; + deactivated = ""; + }; + }; + + tray = { + icon-size = 14; + spacing = 10; + }; + + load = { + format = " {}"; + }; + + clock = { + tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"; + format-alt = "{:%Y-%m-%d}"; + }; + + battery = { + states = { + warning = 30; + critical = 15; + }; + format = "{icon} {capacity}%"; + format-full = "{icon} {capacity}%"; + format-charging = " {capacity}%"; + format-plugged = " {capacity}%"; + format-alt = "{icon} {time}"; + format-icons = [ + "" + "" + "" + "" + "" + ]; + }; + + wireplumber = { + scroll-step = 5; + format = "{icon} {volume}%"; + format-bluetooth = "{icon} {volume}% "; + format-bluetooth-muted = " {icon}"; + format-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ + "" + "" + "" + ]; + }; + on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; + }; + } + + # Bar for DP-2 only + { + output = [ "DP-2" ]; + height = 24; + spacing = 4; + + modules-left = [ + "hyprland/workspaces" + "hyprland/window" + ]; + + modules-center = [ ]; + modules-right = [ "clock" ]; + + "hyprland/workspaces" = { + all-outputs = true; + warp-on-scroll = true; + enable-bar-scroll = true; + format = "{icon}"; + format-icons = { + "1" = ""; + "2" = ""; + "3" = ""; + "4" = ""; + "5" = ""; + "9" = ""; + "10" = ""; + }; + }; + + "hyprland/window" = { + format = "{title}"; + max-length = 40; + all-outputs = true; + }; + + clock = { + tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"; + format-alt = "{:%Y-%m-%d}"; + }; + } + ]; + }; +} |
