2024-01-03 14:25:06 +01:00
|
|
|
{ ...}: {
|
|
|
|
imports = [ ../../common/waybar/scripts.nix ];
|
|
|
|
|
2024-01-04 06:39:52 +01:00
|
|
|
programs.waybar = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
mainBar = {
|
|
|
|
layer = "top";
|
|
|
|
position = "top";
|
|
|
|
modules-left = [
|
|
|
|
"custom/wlogout"
|
|
|
|
"idle_inhibitor"
|
|
|
|
"clock"
|
|
|
|
"mpris"
|
|
|
|
];
|
|
|
|
module-center = [
|
|
|
|
"hyprland/workspaces"
|
|
|
|
];
|
|
|
|
modules-right = [
|
|
|
|
"pulseaudio"
|
|
|
|
"custom/tailscale"
|
|
|
|
"network"
|
|
|
|
"battery"
|
|
|
|
];
|
|
|
|
|
|
|
|
# Modules
|
|
|
|
"custom/wlogout" = {
|
|
|
|
format = "";
|
|
|
|
on-click = "wlogout";
|
|
|
|
};
|
|
|
|
"custom/tailscale" = {
|
|
|
|
format = "{icon} ";
|
|
|
|
exec = "$HOME/.config/waybar/scripts/tailscale.sh";
|
|
|
|
exec-if = "pgrep tailscaled";
|
|
|
|
return-type = "json";
|
|
|
|
interval = 5;
|
|
|
|
format-icons = {
|
|
|
|
Running = "";
|
|
|
|
Stopped = "";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
idle_inhibitor = {
|
|
|
|
format = "{icon} ";
|
|
|
|
format-icons = {
|
|
|
|
activated = "";
|
|
|
|
deactivated = "";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
mpris = {
|
|
|
|
format = "{player_icon} {dynamic}";
|
|
|
|
format-paused = ''{status_icon} <i>{dynamic}</i>'';
|
|
|
|
player-icons = { default = "▶" };
|
|
|
|
status-icons = { paused = "⏸" };
|
|
|
|
max-length = 30;
|
|
|
|
};
|
|
|
|
"hyprland/workspaces" = {
|
|
|
|
on-click = "activate";
|
|
|
|
};
|
|
|
|
clock = {
|
|
|
|
format = " {:%H:%M}";
|
|
|
|
format-alt = " {:%A, %d %b, %Y}";
|
|
|
|
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
|
|
|
calendar = {
|
|
|
|
mode = "month";
|
|
|
|
mode-mon-col = 3;
|
|
|
|
weeks-pos = "left";
|
|
|
|
on-scroll = 1;
|
|
|
|
format = {
|
|
|
|
months = "<b>{}</b>";
|
|
|
|
days = "<b>{}</b>";
|
|
|
|
weeks = "<b>W{}</b>";
|
|
|
|
weekdays = "<b>{}</b>";
|
|
|
|
today = "<b><u>{}</u></b>";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
actions = {
|
|
|
|
on-click-right = "kitty -e calcurse";
|
|
|
|
on-click-middle = "mode";
|
|
|
|
on-scroll-up = "shift_up";
|
|
|
|
on-scroll-down = "shift_down";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
pulseaudio = {
|
|
|
|
scroll-step = 1;
|
|
|
|
format = "{icon} {format_source}";
|
|
|
|
format-bluetooth = "{volume}% {icon} {format_source}";
|
|
|
|
format-bluetooth-muted = " ";
|
|
|
|
format-muted = " {format_source}";
|
|
|
|
format-source = " ";
|
|
|
|
format-source-muted = " ";
|
|
|
|
format-icons = {
|
|
|
|
headphone = " ";
|
|
|
|
headset = " ";
|
|
|
|
default = ["" "" ""];
|
|
|
|
};
|
|
|
|
tooltip = false;
|
|
|
|
on-click = "kitty -e pulsemixer";
|
|
|
|
};
|
|
|
|
network = {
|
|
|
|
format = "{ifname}";
|
|
|
|
format-wifi = " ";
|
|
|
|
format-ethernet = " {ipaddr}";
|
|
|
|
format-disconnected = ""; # Hides the module
|
|
|
|
tooltip-format = "{ifname} via {gwaddr} ";
|
|
|
|
tooltip-format-wifi = "{essid} ({signalStrength}%) ";
|
|
|
|
tooltip-format-ethernet = "{ifname} ";
|
|
|
|
tooltip-format-disconnected = "Disconnected";
|
|
|
|
max-length = 50;
|
|
|
|
on-click = "kitty --class=nmtui -e nmtui";
|
|
|
|
};
|
|
|
|
battery = {
|
|
|
|
tooltip = true;
|
|
|
|
tooltip-format = "{time}";
|
|
|
|
states = {
|
|
|
|
warning = 35;
|
|
|
|
critical = 20;
|
|
|
|
};
|
|
|
|
format = "{icon} {capacity}%";
|
|
|
|
format-charging = " {capacity}%";
|
|
|
|
format-plugged = " {capacity}%";
|
|
|
|
format-icons = [ "" "" "" "" "" ];
|
|
|
|
};
|
|
|
|
};
|
2024-01-03 14:25:06 +01:00
|
|
|
};
|
2024-01-04 06:39:52 +01:00
|
|
|
/*style = {
|
|
|
|
"*" = {
|
|
|
|
border = "none";
|
|
|
|
border-radius = 0;
|
|
|
|
};
|
|
|
|
waybar = {
|
|
|
|
padding = "15px";
|
|
|
|
};
|
|
|
|
workspaces = {
|
|
|
|
button.visible = {
|
|
|
|
font-size = "15px";
|
|
|
|
border-radius = "50px";
|
|
|
|
padding = "0px 5px";
|
|
|
|
margin = "5px";
|
|
|
|
};
|
|
|
|
button = {
|
|
|
|
font-size = "15px";
|
|
|
|
border-radius = "50px";
|
|
|
|
padding = "0px 5px";
|
|
|
|
margin = "5px";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};*/
|
|
|
|
};
|
2024-01-03 14:25:06 +01:00
|
|
|
|
|
|
|
# Waybar theming
|
|
|
|
".config/waybar/style.css" = {
|
2024-01-04 06:39:52 +01:00
|
|
|
enable = false;
|
2024-01-03 14:25:06 +01:00
|
|
|
executable = false;
|
|
|
|
text = ''
|
|
|
|
|
|
|
|
#workspaces button.active {
|
|
|
|
padding: 0px 15px;
|
|
|
|
background-color: #7A7740;
|
|
|
|
color: rgba(0, 0, 0, 0.5);
|
|
|
|
}
|
|
|
|
|
|
|
|
#workspaces button:hover,
|
|
|
|
#workspaces button.focused:hover,
|
|
|
|
#workspaces button.visible:hover {
|
|
|
|
color: rgba(0, 0, 0, 0.5);
|
|
|
|
background-color: #649a25;
|
|
|
|
}
|
|
|
|
|
|
|
|
#workspaces button.urgent {
|
|
|
|
background-color: #cc241d;
|
|
|
|
color: rgba(200, 200, 200, 0.5);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* General background
|
|
|
|
*/
|
|
|
|
#network,
|
|
|
|
#mpris,
|
|
|
|
#memory,
|
|
|
|
#backlight,
|
|
|
|
#cpu,
|
|
|
|
#pulseaudio,
|
|
|
|
#temperature,
|
|
|
|
#battery,
|
|
|
|
#tray,
|
|
|
|
#submap,
|
|
|
|
#clock,
|
|
|
|
#idle_inhibitor,
|
|
|
|
#custom-tailscale,
|
|
|
|
#custom-wlogout,
|
|
|
|
#window {
|
|
|
|
font-size: 16px;
|
|
|
|
padding: 0px 10px;
|
|
|
|
margin: 5px;
|
|
|
|
border-radius: 5px;
|
|
|
|
color: rgba(58,60,62, 0.6);
|
|
|
|
background-color: #649a25;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* General background
|
|
|
|
*/
|
|
|
|
#network button:hover,
|
|
|
|
#mpris button:hover,
|
|
|
|
#memory button:hover,
|
|
|
|
#backlight button:hover,
|
|
|
|
#cpu button:hover,
|
|
|
|
#pulseaudio button:hover,
|
|
|
|
#temperature button:hover,
|
|
|
|
#battery button:hover,
|
|
|
|
#tray button:hover,
|
|
|
|
#submap button:hover,
|
|
|
|
#clock button:hover,
|
|
|
|
#idle_inhibitor button:hover,
|
|
|
|
#custom-tailscale button:hover,
|
|
|
|
#custom-wlogout button:hover,
|
|
|
|
#window button:hover{
|
|
|
|
background-color: #d9eed2;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Warning plugins state
|
|
|
|
*/
|
|
|
|
#battery.warning {
|
|
|
|
background-color: #d1ff6d;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Critical plugins state
|
|
|
|
*/
|
|
|
|
#idle_inhibitor.activated,
|
|
|
|
#battery.critical,
|
|
|
|
#custom-tailscale.Stopped,
|
|
|
|
#network.disconnected {
|
|
|
|
color: #d9eed2;
|
|
|
|
background-color: #fb0029;
|
|
|
|
}
|
|
|
|
#battery.charging {
|
|
|
|
background-color: #2a9b34;
|
|
|
|
}
|
|
|
|
#battery.plugged {
|
|
|
|
background-color: #458588;
|
|
|
|
}
|
|
|
|
#pulseaudio.bluetooth {
|
|
|
|
background-color: #458588;
|
|
|
|
}
|
|
|
|
tooltip {
|
|
|
|
color: #d9eed2;
|
|
|
|
font-size: 14px;
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|