diff --git a/modules/home/desktop/sway/waybar.nix b/modules/home/desktop/sway/waybar.nix index 88d5434..3f157a3 100644 --- a/modules/home/desktop/sway/waybar.nix +++ b/modules/home/desktop/sway/waybar.nix @@ -6,5 +6,213 @@ enable = true; target = "sway-session.target"; }; + settings = { + mainbar = { + layer = "top"; + spacing = 6; + disable-toolptips = true; + modules-center = []; + modules-left = [ + "sway/workspaces" + "sway/mode" + ]; + modules-right = [ + "network" + "custom/sep" + "memory" + "cpu" + "custom/sep" + "pulseaudio" + "custom/sep" + "clock" + "custom/sep" + "tray" + ]; + "clock" = { + "format-alt" = "{:%Y-%m-%d}"; + "timezone" = "Europe/Paris"; + "tooltip" = false; + }; + "cpu" = { + "format" = "{usage}% {icon}"; + "format-icons" = [ "" ]; + "states" = { + "critical" = 90; + "warning" = 70; + }; + "tooltip" = false; + }; + "custom/sep" = { + "format" = "|"; + "tooltip" = false; + }; + "idle_inhibitor" = { + "format" = "{icon}"; + "format-icons" = { + "activated" = ""; + "deactivated" = ""; + }; + }; + "memory" = { + "format" = "{used:0.1f}G/{total:0.1f}G "; + "interval" = 30; + "states" = { + "critical" = 90; + "warning" = 70; + }; + }; + "network" = { + "format-alt" = "{ifname}: {ipaddr}/{cidr}"; + "format-disconnected" = "Disconnected ⚠ "; + "format-ethernet" = "{ifname}: {ipaddr}/{cidr} 󰈀 "; + "format-linked" = "{ifname} (No IP) 󰈀 "; + "format-wifi" = "{essid} ({signalStrength}%)  "; + "tooltip" = false; + }; + "pulseaudio" = { + "format" = "{format_source} {volume}% {icon} "; + "format-bluetooth" = "{volume}% {icon}"; + "format-icons" = { + "car" = ""; + "default" = ""; + "handsfree" = "󰋎"; + "headphones" = "󰋋"; + "headset" = "󰋎"; + "phone" = ""; + "portable" = ""; + }; + "format-muted" = "{format_source} 󰝟 "; + "format-source" = "{volume}%  "; + "format-source-muted" = " "; + "tooltip" = false; + }; + "sway/mode" = { + "format" = "{}"; + }; + "sway/workspace" = { + "disable-scroll" = true; + }; + "temperature" = { + "critical-threshold" = 80; + "format" = "{temperatureC}°C  "; + "thermal-zone" = "6"; + }; + }; + }; + style = '' + @define-color color-base-bg #323232; + @define-color color-base-fg #ddd; + + @define-color color-hover #f268b3; + @define-color color-selected #1cd180; + + @define-color color-ok #1cd180; + @define-color color-warning #f2b768; + @define-color color-critical #f268b3; + + * { + border: none; + border-radius: 0; + min-height:0; + } + + window#waybar { + background: @color-base-bg ; + color: @color-base-fg; + font-family: "Fira Code Nerd Font"; + font-size: 12px; + } + + button, + button:disabled,label:disabled{ + color:inherit; + } + + button:hover{ + background:none; + box-shadow:inherit; + box-shadow:inherit; + text-shadow:inherit; + text-shadow:inherit; + border-top:none; + } + #workspaces { + color:#fff; + } + #workspaces button { + margin:0 3px; + padding:4px 4px; + color:#9c9c9c; + border-bottom: 1px solid transparent; + } + + #workspaces button:hover { + box-shadow:inherit; + text-shadow:inherit; + color: @color-hover; + border-bottom: 1px solid @color-hover; + } + + #workspaces button.focused { + background:#1cd180 ; + color:#000; + } + #workspaces button.visible:not(.focused) { + color: @color-selected; + border-color: @color-selected; + } + + #clock, + #cpu, + #memory, + #backlight, + #network, + #tray, + #mode, + #battery, + #idle_inhibitor { + padding: 2px 4px; + margin: 0; + background-color: transparent; + } + + #mode{ + background:@color-warning; + font-weight:bold; + } + #pulseaudio {} + #pulseaudio.muted { + color:@color-critical; + } + + #battery.discharging { + color: @color-base-fg; + border-bottom: none; + } + + #battery.charging, #battery.plugged { + border-bottom: 1px solid @color-ok; + color: @color-selected; + } + + #battery.critical:not(.charging), + #cpu.critical, + #memory.critical{ + border-color: @color-critical; + color: @color-critical; + } + + #battery.warning:not(.charging), + #cpu.warning, + #memory.warning{ + border-color: @color-warning; + color: @color-warning; + } + + #tray { + font-family: "DejaVu sans"; + font-size: 12px; + } + ''; }; }