From d97f055798ed93a42c1825a423b91dc320a5b267 Mon Sep 17 00:00:00 2001 From: Rosa Date: Sun, 18 Jan 2026 12:47:55 -0500 Subject: re-theming begun --- modules/user/desktop/components/waybar/default.nix | 154 +++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 modules/user/desktop/components/waybar/default.nix (limited to 'modules/user/desktop/components/waybar/default.nix') 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 = '' + Network: {essid} + {ifname}: {ipaddr}/{cidr} + tx: {bandwidthUpBytes} + rx: {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; + }; +} -- cgit v1.3.1