add waybar config
This commit is contained in:
parent
fa4b42d743
commit
08484e8ea4
3 changed files with 252 additions and 1 deletions
|
@ -11,7 +11,6 @@
|
|||
hyprpicker
|
||||
wl-clipboard
|
||||
cliphist
|
||||
waybar
|
||||
rofi-wayland
|
||||
swayidle
|
||||
swappy
|
||||
|
|
88
programs/waybar/default.nix
Normal file
88
programs/waybar/default.nix
Normal 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
164
programs/waybar/style.css
Normal 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;
|
||||
}
|
Loading…
Reference in a new issue