diff options
Diffstat (limited to 'home/wm/waybar')
-rw-r--r-- | home/wm/waybar/default.nix | 52 | ||||
-rw-r--r-- | home/wm/waybar/style.css | 77 |
2 files changed, 129 insertions, 0 deletions
diff --git a/home/wm/waybar/default.nix b/home/wm/waybar/default.nix new file mode 100644 index 0000000..c1bf601 --- /dev/null +++ b/home/wm/waybar/default.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: +let isEnabled = config.my.home.wm.windowManager == "sway"; +in { + config = lib.mkIf isEnabled { + programs.waybar = { + enable = true; + systemd = { enable = true; }; + + settings = [{ + layer = "bottom"; + position = "top"; + margin-top = 0; + margin-left = 0; + margin-right = 0; + margin-bottom = 0; + modules-left = [ "sway/workspaces" "sway/mode" ]; + modules-right = [ "pulseaudio" "network" "battery" "clock" "tray" ]; + modules = { + "sway/workspaces" = { format = "{name}"; }; + "sway/mode" = { format = "{}"; }; + tray = { spacing = 10; }; + clock = { format = "{: %a %b %d %R}"; }; + battery = { + states = { + warning = 30; + critical = 15; + }; + format = "ac:{capacity}%"; + tooltip = true; + tooltip-format = "{timeTo} ({capacity}%)"; + }; + pulseaudio = { + format = "vol:{volume}%"; + format-bluetooth = "bt:{volume}%"; + format-bluetooth-muted = "bt:{volume}%"; + format-muted = "vol:{volume}%"; + on-click = "pavucontrol"; + }; + "network" = { + format-wifi = "{essid}:{signalStrength}%"; + format-ethernet = "{ipaddr}/{cidr}"; + format-linked = "{ifname} (No IP)"; + format-disconnected = "network unavailable"; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + tooltip = false; + }; + }; + }]; + style = (builtins.readFile ./style.css); + }; + }; +} diff --git a/home/wm/waybar/style.css b/home/wm/waybar/style.css new file mode 100644 index 0000000..e4565c8 --- /dev/null +++ b/home/wm/waybar/style.css @@ -0,0 +1,77 @@ +* { + border-radius: 0; + border: none; + margin: 0; + min-height: 0; + padding: 0; +} +#waybar { + font-family: Source Code Pro; + font-size: 15px; +} +window#waybar { + background-color: rgba(43, 48, 59, 0.9); + color: #ffffff; +} +#workspaces button { + padding: 0 3px; + background-color: transparent; + color: #888888; +} +#workspaces button.focused { + background-color: #285577; + border: 1px solid #4c7899; + color: #ffffff; +} +#workspaces button.urgent { + background-color: #900000; + border: 1px solid #2f343a; + color: #ffffff; +} +#clock, +#battery, +#network, +#pulseaudio, +#tray, +#mode { + padding-left: 10px; + padding-right: 10px; +} +#mode { + /* No styles */ +} +#tray { + /* No styles */ +} +#clock { + /* No styles */ +} +#battery { + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} +#battery.discharging { + color: #90a1ad; +} +#battery.charging { + color: #fffff8; +} +#battery.warning { + border-bottom: 2px solid #ff9e21; +} +#battery.critical { + border-bottom: 2px solid #ff3121; +} +#network { + /* No styles */ +} +#network.disconnected { + color: orange; +} +#pulseaudio { + /* No styles */ +} +#pulseaudio.muted { + color: #90a1ad; +} |