diff options
| author | Rosa <rosaontheweb@proton.me> | 2026-01-18 12:47:55 -0500 |
|---|---|---|
| committer | Rosa <rosaontheweb@proton.me> | 2026-01-18 12:47:55 -0500 |
| commit | d97f055798ed93a42c1825a423b91dc320a5b267 (patch) | |
| tree | 811788e855a8314447db974b9fe82301c8ea27cd /modules/user/desktop/components/waybar/default.nix | |
| parent | 44c11be5831b178777bae2794848e0365d813471 (diff) | |
re-theming begun
Diffstat (limited to 'modules/user/desktop/components/waybar/default.nix')
| -rw-r--r-- | modules/user/desktop/components/waybar/default.nix | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/modules/user/desktop/components/waybar/default.nix b/modules/user/desktop/components/waybar/default.nix new file mode 100644 index 0000000..02747c4 --- /dev/null +++ b/modules/user/desktop/components/waybar/default.nix @@ -0,0 +1,154 @@ +{ + config, + lib, + options, + ... +}: +{ + options.desktop.components.waybar.enable = lib.mkEnableOption "waybar"; + config.programs.waybar = { + enable = config.desktop.components.waybar.enable; + settings = { + main = { + modules-left = [ + "sway/workspaces" + "tray" + ]; + + modules-center = [ "clock" ]; + modules-right = [ + "backlight" + "battery" + "network" + "wireplumber" + "cpu" + "memory" + ]; + + backlight = { + format = "{icon}"; + format-icons = [ + "" + "" + ]; + + tooltip-format = "{percent}%"; + }; + + battery = { + format = "{icon}"; + format-critical = "{icon} ({capacity}%)"; + format-icons = [ + "" + "" + "" + "" + ]; + + format-time = "{H}h{m}m"; + format-warning = "{icon} ({capacity}%)"; + states = { + critical = 15; + warning = 25; + }; + + tooltip-format = "{time} remaining, {health}% battery health"; + tooltip-format-critical = "plug yo shit in NOW!!"; + }; + + cpu.format = "{avg_frequency} GHz"; + clock = { + format = "{:%A, %b %d %Y - %H:%M %Z}"; + # i am the time god. fear me. + timezones = [ + "America/Toronto" + "America/Vancouver" + "America/Edmonton" + "America/Regina" + "America/Toronto" # duplicated so it appears in the list too + "America/Halifax" + "America/St_Johns" + "America/Sao_Paulo" + "Etc/UTC" + "Australia/Perth" + ]; + + tooltip-format = "{tz_list}"; + }; + + memory = { + format = "{used}/{total} GiB"; + states = { + critical = 90; + warning = 70; + }; + + tooltip-format = "{percentage}% used"; + }; + + network = { + format-disabled = ""; + format-disconnected = ""; + format-ethernet = " {ipaddr}/{cidr}"; + format-icons = [ + "" + "" + "" + "" + ]; + + format-wifi = "{icon}"; + interval = 1; + tooltip-format = "{ifname} tx: {bandwidthUpBytes} rx: {bandwidthDownBytes}"; + tooltip-format-wifi = '' + <b>Network:</b> {essid} + <b>{ifname}:</b> {ipaddr}/{cidr} + <b>tx:</b> {bandwidthUpBytes} + <b>rx:</b> {bandwidthDownBytes} + ''; + }; + + position = "bottom"; + "sway/workspaces" = { + all-outputs = true; + disable-scroll = true; + format = ""; + persistent-workspaces = { + "1" = [ + "DP-1" + "eDP-1" + ]; + + "2" = [ + "DP-2" + "eDP-1" + ]; + + "3" = [ ]; + "4" = [ ]; + "5" = [ ]; + "6" = [ ]; + "7" = [ ]; + "8" = [ ]; + "9" = [ ]; + }; + }; + + wireplumber = { + format = "{icon}"; + format-icons = [ + "" + "" + "" + ]; + + format-muted = ""; + on-click = "wpctl set-mute @DEFAULT_SINK@ toggle"; + tooltip-format = "{node_name} - {volume}%"; + }; + }; + }; + + style = builtins.readFile ./style-${config.desktop.accent}.css; + }; +} |
