Compare commits

...
2 Commits
Author SHA1 Message Date
Sweetbread bd00472f1b fixup! fixup! fixup! Replace AGS with waybar 2026-03-13 17:24:00 +03:00
Sweetbread 807ad51562 fixup! fixup! Replace AGS with waybar 2026-03-13 14:07:40 +03:00
+74 -66
View File
@@ -1,6 +1,7 @@
{ osConfig, config, pkgs, ... }: { { osConfig, config, pkgs, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
font-awesome # font-awesome
nerd-fonts.symbols-only
playerctl playerctl
]; ];
@@ -8,7 +9,7 @@
enable = true; enable = true;
settings.mainBar = { settings.mainBar = {
margin = "8"; margin = "8px";
spacing = 8; spacing = 8;
modules-left = [ modules-left = [
@@ -56,22 +57,23 @@
}; };
battery = { battery = {
interval = 5;
states = { states = {
warning = 30; warning = 30;
critical = 15; critical = 15;
}; };
format = "{capacity}%"; format = "{icon} {capacity}%";
format-charging = "{capacity}% {time}"; format-icons = {
format-plugged = "{capacity}%"; default = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
format-alt = "{time}"; charging = ["󰢟" "󰢜" "󰂆" "󰂇" "󰂈" "󰢝" "󰂉" "󰢞" "󰂊" "󰂋" "󰂅"];
format-time = "{H}:{m}"; };
}; };
"keyboard-state" = { "keyboard-state" = {
capslock = true; capslock = true;
format = "{icon}"; format = "{icon}";
format-icons = { format-icons = {
locked = " CUPS"; locked = "CAPS";
unlocked = ""; unlocked = "";
}; };
}; };
@@ -98,13 +100,10 @@
network = { network = {
format = "{ifname}"; format = "{ifname}";
format-wifi = "{essid} ({signalStrength}%) "; format-wifi = " {essid} ({signalStrength}%)";
format-ethernet = "{ifname} "; format-ethernet = "{ifname}";
format-disconnected = ""; format-disconnected = "";
tooltip-format = "{ifname}"; tooltip-format = "{ipaddr}";
tooltip-format-wifi = "{essid} ({signalStrength}%) ";
tooltip-format-ethernet = "{ifname} ";
tooltip-format-disconnected = "Disconnected";
max-length = 50; max-length = 50;
on-click = "ghostty --title=nmtui -e nmtui"; on-click = "ghostty --title=nmtui -e nmtui";
}; };
@@ -132,7 +131,7 @@
temperature = { temperature = {
# thermal-zone = 2; # thermal-zone = 2;
# hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; hwmon-path = "/sys/class/hwmon/hwmon5/temp1_input";
critical-threshold = 80; critical-threshold = 80;
# format-critical = "{temperatureC}°C {icon}"; # format-critical = "{temperatureC}°C {icon}";
format = "{temperatureC}°C {icon}"; format = "{temperatureC}°C {icon}";
@@ -144,7 +143,7 @@
style = let style = let
colors = config.lib.stylix.colors.withHashtag; colors = config.lib.stylix.colors.withHashtag;
radius = "12px"; radius = "12px";
in /* css */ '' scssFile = pkgs.writeText "waybar.scss" /* scss */ ''
window#waybar { window#waybar {
background: transparent; background: transparent;
color: ${colors.base05}; color: ${colors.base05};
@@ -160,7 +159,7 @@
#battery, #battery,
#cpu, #cpu,
#temperature, #temperature,
#keyboard-state, #keyboard-state label.locked,
#custom-mem, #custom-mem,
#clock { #clock {
background: ${colors.base00}; background: ${colors.base00};
@@ -175,98 +174,107 @@
} }
#workspaces button { #workspaces button {
color: ${colors.base05};
padding: 4px; padding: 4px;
border-radius: ${radius}; border-radius: ${radius};
border: 1pt solid transparent; border: 1pt solid transparent;
}
#workspaces button:hover { &:hover { background: ${colors.base01}; }
background: ${colors.base01};
} &.active {
#workspaces button.active {
background: ${colors.base0B}; background: ${colors.base0B};
color: ${colors.base00}; color: ${colors.base00};
}
#workspaces button.active:hover { &:hover {
border-color: ${colors.base0B}; border-color: ${colors.base0B};
background: ${colors.base01}; background: ${colors.base01};
color: ${colors.base0B}; color: ${colors.base0B};
} }
#mpris:hover {
background: ${colors.base01};
} }
#mpris.paused {
opacity: .5;
} }
#tray widget { #mpris {
&:hover { background: ${colors.base01}; }
&.paused { opacity: .5; }
}
#tray {
widget {
border: 1pt solid transparent; border: 1pt solid transparent;
border-radius: ${radius}; border-radius: ${radius};
} &:hover { background: ${colors.base01}; }
#tray widget:hover { & > image { padding: 8px; }
background: ${colors.base01};
}
#tray widget>image {
padding: 8px;
}
#tray > .passive {
border-color: ${colors.base02};
}
#tray > .needs-attention {
border-color: ${colors.base09};
} }
#pulseaudio:hover { & > .passive { border-color: ${colors.base02}; }
background: ${colors.base01}; & > .needs-attention { border-color: ${colors.base09}; }
} }
#pulseaudio.muted {
#pulseaudio {
&:hover { background: ${colors.base01}; }
&.muted {
background: ${colors.base08}; background: ${colors.base08};
color: ${colors.base00}; color: ${colors.base00};
&:hover {
color: ${colors.base08};
background: ${colors.base01};
}
}
} }
#network:hover { #network {
background: ${colors.base01}; &:hover { background: ${colors.base01}; }
&.disconnected {
color: ${colors.base00};
background: ${colors.base08};
}
} }
#system .drawer-child > * { #system .drawer-child > * {
margin-right: 4px margin-right: 4px
} }
#language { #keyboard-state label.locked {
border-radius: ${radius} 0 0 ${radius}; background-color: ${colors.base00};
margin-right: 0;
padding-right: 0;
}
#keyboard-state {
color: ${colors.base08}; color: ${colors.base08};
border-radius: 0 ${radius} ${radius} 0;
margin-left: -8px;
padding-left: 0;
} }
#battery.charging { #battery {
color: ${colors.base05}; &.plugged { color: ${colors.base0D}; }
background-color: ${colors.base0B}; &.charging { color: ${colors.base0B}; }
} &:not(.charging) {
#battery.warning:not(.charging) { &.warning {
color: ${colors.base00};
background-color: ${colors.base09}; background-color: ${colors.base09};
color: black;
} }
#battery.critical:not(.charging) { &.critical {
background-color: ${colors.base08}; background-color: ${colors.base08};
color: ${colors.base05}; color: ${colors.base00};
animation-name: blink; animation-name: blink;
animation-duration: 0.5s; animation-duration: 0.5s;
animation-timing-function: linear; animation-timing-function: linear;
animation-iteration-count: infinite; animation-iteration-count: infinite;
animation-direction: alternate; animation-direction: alternate;
} }
}
&.full {
color: ${colors.base00};
background: ${colors.base0B};
}
}
@keyframes blink { @keyframes blink {
to { to {
background-color: #${colors.base05}; background-color: ${colors.base00};
color: #${colors.base00}; color: ${colors.base08};
} }
} }
''; '';
cssFile = pkgs.runCommand "waybar.css" {
nativeBuildInputs = [ pkgs.dart-sass ];
} "sass ${scssFile} $out";
in builtins.readFile cssFile;
}; };
} }