From 0c48f50a19b2027b6fe62ddb68721c0a31e2f720 Mon Sep 17 00:00:00 2001 From: Kabbone Date: Sun, 16 Oct 2022 22:21:18 +0200 Subject: [PATCH] configure waybar --- modules/programs/waybar.nix | 164 +++++++++++++++++++++--------------- 1 file changed, 94 insertions(+), 70 deletions(-) diff --git a/modules/programs/waybar.nix b/modules/programs/waybar.nix index b0dafba..b1891b9 100644 --- a/modules/programs/waybar.nix +++ b/modules/programs/waybar.nix @@ -20,28 +20,25 @@ home-manager.users.${user} = { # Home-manager waybar config programs.waybar = { enable = true; - systemd = { - enable = true; - target = "sway-session.target"; # Needed for waybar to start automatically - }; + #systemd = { + # enable = true; + # target = "sway-session.target"; # Needed for waybar to start automatically + #}; style = '' * { border: none; font-family: FiraCode Nerd Font Mono; - font-weight: bold; + font-size: 13px; + min-height: 0; } window#waybar { - background-color: rgba(0,0,0,0.5); - background: transparent; - transition-property: background-color; - transition-duration: .5s; - border-bottom: none; - } - window#waybar.hidden { - opacity: 0.2; + background-color: rgba(43,48,59,0.3); + border-bottom: 3px solid transparent; + color: white; } workspace, + idle_inhibitor, mode, clock, pulseaudio, @@ -52,24 +49,23 @@ window, cpu, disk, - battery, - tray { - color: #999999; - margin: 2px 16px 2px 16px; - background-clip: padding-box; + battery { + margin: 15px; + padding: 5px; } workspaces button { padding: 0 5px; - min-width: 15px; + margin: 0 3px; + color: white; + border-bottom: 3px solid transparent; } workspaces button:hover { - background-color: rgba(0,0,0,0.2); + background-color: rgba(100,100,100,0.8); + color: #808080; } workspaces button.focused { - color: #ccffff; - } - battery.warning { - color: #ff5d17; + background: rgba(100, 114, 125, 0.2); + border-bottom: 2px solid gray; } battery.critical { color: #ff200c; @@ -77,25 +73,33 @@ battery.charging { color: #9ece6a; } + battery.warning:not(.charging) { + background: #f53c3c; + color: white; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } + pulseaudio.muted { + border-bottom: 2px solid red; + } ''; settings = [{ layer = "top"; position = "top"; - height = 16; - output = [ - "eDP-1" - #"DP-2" - #"HDMI-A-2" - ]; + height = 22; + spacing = 10; tray = { spacing = 10; }; modules-center = [ "clock" ]; - modules-left = [ "sway/workspaces" "sway/window" "sway/mode" ]; - #modules-left = [ "wlr/workspaces" ]; - modules-right = [ "cpu" "memory" "disk" "pulseaudio" "battery" "network" "tray" ]; + #modules-left = [ "wlr/mode" "wlr/workspaces" "wlr/window" ]; + modules-left = [ "wlr/workspaces" ]; + modules-right = [ "idle_inhibitor" "pulseaudio" "network" "cpu" "memory" "temperature" "battery" "tray" ]; #modules-right = [ "cpu" "memory" "pulseaudio" "clock" "tray" ]; "sway/workspaces" = { - format = "{icon}"; + format = "{icon}"; format-icons = { "1"=""; "2"=""; @@ -103,7 +107,7 @@ "4"=""; "5"=""; }; - all-outputs = true; + all-outputs = false; persistent_workspaces = { "1" = []; "2" = []; @@ -113,7 +117,8 @@ }; }; "wlr/workspaces" = { - format = "{icon}"; + format = "{icon}"; + color = "white"; format-icons = { "1"=""; "2"=""; @@ -122,72 +127,91 @@ "5"=""; }; all-outputs = true; - active-only = false; + active-only = true; on-click = "activate"; }; clock = { format = "{:%b %d %H:%M}"; tooltip-format = "{:%Y %B}\n{calendar}"; - format-alt = "{:%A, %B %d, %Y} "; + format-alt = "{:%A, %B %d, %Y}"; + }; + idle_inhibitor = { + format = "{icon}"; + format-icons = { + activated = ""; + deactivated = ""; + }; }; cpu = { - format = "{usage}% "; + format = "{usage}%"; tooltip = false; - interval = 1; + interval = 2; }; disk = { - format = "{percentage_used}% "; + format = "{percentage_used}%"; path = "/"; interval = 30; }; memory = { - format = "{}% "; - interval = 1; + format = "{}%"; + interval = 5; + }; + temperature = { + states = { + "good" = 50; + "warning" = 70; + "critical" = 80; + }; + "thermal-zone" = 2; + "hwmon-path" = "/sys/class/hwmon/hwmon3/temp1_input"; + "format" = "{icon}{temperatureC}°C"; + "format-icons" = ["" "" "" "" ""]; + }; + backlight = { + "format" = "{icon}{percent}%"; + "format-icons" = ["" ""]; + "on-scroll-up" = "light -A +5%"; + "on-scroll-down" = "light -U -5%"; }; battery = { interval = 60; states = { - warning = 30; - critical = 15; + good = 95; + warning = 20; + critical = 5; }; - format = "{capacity}% {icon}"; - format-charging = "{capacity}% "; + format = "{icon}{capacity}%"; + format-charging = "{capacity}%"; + format-plugged = "{capacity}%"; + format-alt = "{icon}{time}"; format-icons = ["" "" "" "" ""]; - max-length = 25; }; network = { - format-wifi = ""; - format-ethernet = " {ifname}: {ipaddr}/{cidr}"; - format-linked = " {ifname} (No IP)"; - format-disconnected = " Not connected"; + format-wifi = ""; + format-ethernet = " {ifname}: {ipaddr}/{cidr}"; + format-linked = "睊{ifname} (No IP)"; + format-disconnected = "睊Not connected"; format-alt = "{ifname}: {ipaddr}/{cidr}"; tooltip-format = "{essid} {signalStrength}%"; on-click-right = "${pkgs.alacritty}/bin/alacritty -e nmtui"; }; pulseaudio = { - format = "{icon} {volume}% {format_source}"; - format-bluetooth = "{icon} {volume}% {format_source}"; - format-bluetooth-muted = " {volume}% {format_source}"; - format-muted = " {format_source}"; - #format-source = "{volume}% "; - format-source = ""; - format-source-muted = ""; + format = "{icon}{volume}% {format_source}"; + format-bluetooth = "{icon}{volume}% {format_source}"; + format-bluetooth-muted = "{volume}% {format_source}"; + format-muted = "{format_source}"; + format-source = "{volume}%"; + #format-source = ""; + format-source-muted = ""; format-icons = { default = [ "" "" "" ]; - headphone = ""; - #hands-free = ""; - #headset = ""; - #phone = ""; - #portable = ""; - #car = ""; + headphones = ""; + handsfree = ""; + headset = ""; }; tooltip-format = "{desc}, {volume}%"; - on-click = "${pkgs.pamixer}/bin/pamixer -t"; on-click-right = "${pkgs.pamixer}/bin/pamixer --default-source -t"; - on-click-middle = "${pkgs.pavucontrol}/bin/pavucontrol"; - }; - tray = { - icon-size = 11; + on-click = "${pkgs.pavucontrol}/bin/pavucontrol"; }; }]; };