add waybar config

This commit is contained in:
uku 2023-11-25 15:44:02 +01:00
parent fa4b42d743
commit 08484e8ea4
Signed by: uku
GPG key ID: 7D01D7B105E77166
3 changed files with 252 additions and 1 deletions

View file

@ -11,7 +11,6 @@
hyprpicker
wl-clipboard
cliphist
waybar
rofi-wayland
swayidle
swappy

View file

@ -0,0 +1,88 @@
{
lib,
pkgs,
config,
...
}: {
hm.programs.waybar = {
enable = true;
style = ./style.css;
settings = [
{
position = "bottom";
layer = "top";
height = 24;
spacing = 2;
modules-left = ["hyprland/workspaces"];
modules-center = [];
modules-right =
["memory"]
++ lib.optionals (builtins.elem "amdgpu" config.services.xserver.videoDrivers) ["custom/gpu-usage"]
++ ["cpu" "wireplumber"]
++ lib.optionals config.services.power-profiles-daemon.enable ["battery"]
++ lib.optionals config.programs.light.enable ["backlight"]
++ ["clock" "tray"];
"hyprland/workspaces" = {
format = "{name}";
on-click = "activate";
sort-by-number = true;
};
tray = {
icon-size = 16;
spacing = 10;
};
clock = {
format-alt = "{:%Y-%m-%d %H:%M:%S}";
interval = 1;
};
cpu = {
format = "CPU {usage}%";
tooltip = false;
interval = 2;
};
memory = {
format = "RAM {}%";
interval = 2;
};
backlight = {
format = "LGT {percent}%";
scroll-step = 5;
};
battery = {
states = {
low = 15;
};
format = "BAT {capacity}%";
format-charging = "BAT+ {capacity}%";
format-plugged = "BAT+ {capacity}%";
format-low = "BAT! {capacity}%";
interval = 5;
};
wireplumber = {
scroll-step = 5;
format = "VOL {volume}%";
format-muted = "muted";
on-click = "${lib.getExe' pkgs.wireplumber "wpctl"} set-mute @DEFAULT_AUDIO_SINK@ toggle";
on-click-right = "${lib.getExe pkgs.pavucontrol}";
};
"custom/gpu-usage" = {
exec = "cat /sys/class/hwmon/hwmon*/device/gpu_busy_percent";
format = "GPU {}%";
return-type = "";
interval = 2;
};
}
];
};
}

164
programs/waybar/style.css Normal file
View file

@ -0,0 +1,164 @@
/* catppuccin macchiato */
@define-color base #24273a;
@define-color mantle #1e2030;
@define-color crust #181926;
@define-color text #cad3f5;
@define-color subtext0 #a5adcb;
@define-color subtext1 #b8c0e0;
@define-color surface0 #363a4f;
@define-color surface1 #494d64;
@define-color surface2 #5b6078;
@define-color overlay0 #6e738d;
@define-color overlay1 #8087a2;
@define-color overlay2 #939ab7;
@define-color blue #8aadf4;
@define-color lavender #b7bdf8;
@define-color sapphire #7dc4e4;
@define-color sky #91d7e3;
@define-color teal #8bd5ca;
@define-color green #a6da95;
@define-color yellow #eed49f;
@define-color peach #f5a97f;
@define-color maroon #ee99a0;
@define-color red #ed8796;
@define-color mauve #c6a0f6;
@define-color pink #f5bde6;
@define-color flamingo #f0c6c6;
@define-color rosewater #f4dbd6;
* {
font-family: JetbrainsMono Nerd Font, sans-serif;
font-size: 12px;
}
window#waybar {
background-color: @base;
color: @text;
transition-property: background-color;
transition-duration: .5s;
}
button {
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
/* Avoid rounded borders under each button name */
border: none;
border-radius: 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
button:hover {
background: inherit;
}
#clock,
#battery,
#cpu,
#custom-gpu-usage,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#mpd {
padding: 0 10px;
color: @crust;
}
#window,
#workspaces {
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left>widget:first-child>#workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right>widget:last-child>#workspaces {
margin-right: 0;
}
#workspaces button {
padding: 0 2px;
background-color: transparent;
color: @text;
}
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
}
#workspaces button.active {
background-color: @surface1;
box-shadow: inset 0 -3px @yellow;
}
#workspaces button.urgent {
background-color: @red;
}
#clock {
background-color: @green;
}
#battery {
background-color: @sky;
}
#battery.low:not(.charging) {
background-color: @red;
}
#cpu {
background-color: @sapphire;
}
#custom-gpu-usage {
background-color: @blue;
}
#memory {
background-color: @lavender;
}
#backlight {
background-color: @teal;
}
#network {
background-color: @mauve;
}
#wireplumber {
background-color: @sapphire;
}
#wireplumber.muted {
color: @base;
}
#tray {
background-color: @yellow;
}
#tray>.passive {
-gtk-icon-effect: dim;
}
#tray>.needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}