6999e39aa6
Includes corresponding updates to home/hypr and home/waybar
265 lines
6.5 KiB
Nix
265 lines
6.5 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
cfg = config.programs.waybar;
|
|
cfgs = cfg.settings.mainBar;
|
|
in
|
|
{
|
|
programs.waybar = {
|
|
systemd.enable = true;
|
|
|
|
settings = {
|
|
mainBar = {
|
|
layer = "top";
|
|
position = "top";
|
|
height = 26;
|
|
|
|
modules-left = [ "hyprland/workspaces" ];
|
|
modules-center = [ "hyprland/window" ];
|
|
modules-right = [
|
|
"tray"
|
|
"network"
|
|
"pulseaudio"
|
|
"battery"
|
|
"clock#date"
|
|
"clock"
|
|
];
|
|
|
|
"hyprland/workspaces" = {
|
|
persistent-workspaces = {
|
|
"*" = 8;
|
|
};
|
|
};
|
|
|
|
"hyprland/window" = {
|
|
"format" = "{initialTitle}";
|
|
};
|
|
|
|
tray = {
|
|
spacing = 10;
|
|
};
|
|
|
|
clock = {
|
|
"tooltip-format" = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
|
format = " {:%H:%M:%S}";
|
|
"format-alt" = " {:%Y-%m-%d}";
|
|
interval = 1;
|
|
};
|
|
|
|
"clock#date" = {
|
|
format = " {:%d.%m.%Y}";
|
|
"tooltip-format" = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
|
};
|
|
|
|
"battery" = {
|
|
"states" = {
|
|
"warning" = 30;
|
|
"critical" = 15;
|
|
};
|
|
"format" = "{icon} {capacity}%";
|
|
"format-charging" = " {capacity}%";
|
|
"format-plugged" = " {capacity}%";
|
|
"format-icons" = [
|
|
""
|
|
""
|
|
""
|
|
""
|
|
""
|
|
];
|
|
"on-click" = "ags -t quicksettings";
|
|
};
|
|
"pulseaudio" = {
|
|
"format" = "{icon} {volume}% {format_source}";
|
|
"format-bluetooth" = " {icon} {volume}% {format_source}";
|
|
"format-bluetooth-muted" = " {icon} {format_source}";
|
|
"format-muted" = " {format_source}";
|
|
"format-source" = "";
|
|
"format-source-muted" = "";
|
|
"format-icons" = {
|
|
"default" = [
|
|
""
|
|
""
|
|
""
|
|
];
|
|
};
|
|
"on-click" = "pavucontrol";
|
|
};
|
|
"network" = {
|
|
"format-wifi" = " {essid}";
|
|
"format-ethernet" = "⬇{bandwidthDownBytes} ⬆{bandwidthUpBytes}";
|
|
"interval" = 3;
|
|
"format-linked" = "{ifname} (No IP) ";
|
|
"format" = "";
|
|
"format-disconnected" = "";
|
|
"on-click" = "alacritty -e nmtui";
|
|
"tooltip-format" = " {bandwidthUpBits} {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n";
|
|
"tooltip-format-wifi" =
|
|
" {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits} {bandwidthDownBits}";
|
|
"min-length" = 10;
|
|
"max-length" = 17;
|
|
};
|
|
};
|
|
};
|
|
|
|
style =
|
|
let
|
|
c = config.colors.defaultColorSet;
|
|
in
|
|
''
|
|
/*
|
|
*
|
|
* Catppuccin Mocha palette
|
|
* Maintainer: rubyowo
|
|
*
|
|
*/
|
|
|
|
@define-color background #1e1e2e;
|
|
@define-color foreground #cdd6f4;
|
|
@define-color mantle #181825;
|
|
@define-color crust #11111b;
|
|
|
|
@define-color subtext0 #a6adc8;
|
|
@define-color subtext1 #bac2de;
|
|
|
|
@define-color surface0 #313244;
|
|
@define-color surface1 #45475a;
|
|
@define-color surface2 #585b70;
|
|
|
|
@define-color overlay0 #6c7086;
|
|
@define-color overlay1 #7f849c;
|
|
@define-color overlay2 #9399b2;
|
|
|
|
@define-color blue #89b4fa;
|
|
@define-color lavender #b4befe;
|
|
@define-color sapphire #74c7ec;
|
|
@define-color sky #89dceb;
|
|
@define-color teal #94e2d5;
|
|
@define-color green #a6e3a1;
|
|
@define-color yellow #f9e2af;
|
|
@define-color peach #fab387;
|
|
@define-color maroon #eba0ac;
|
|
@define-color red #f38ba8;
|
|
@define-color mauve #cba6f7;
|
|
@define-color pink #f5c2e7;
|
|
@define-color flamingo #f2cdcd;
|
|
@define-color rosewater #f5e0dc;
|
|
|
|
* {
|
|
font-family: "Hack Nerd Font";
|
|
font-size: 14px;
|
|
min-height: 0;
|
|
font-weight: normal;
|
|
}
|
|
|
|
window#waybar {
|
|
background: transparent;
|
|
background-color: @background;
|
|
color: @foreground;
|
|
transition-property: background-color;
|
|
transition-duration: 0.1s;
|
|
}
|
|
|
|
#window {
|
|
margin: 2;
|
|
padding-left: 8;
|
|
padding-right: 8;
|
|
}
|
|
|
|
button {
|
|
box-shadow: inset 0 -3px transparent;
|
|
border: none;
|
|
border-radius: 0;
|
|
}
|
|
|
|
button:hover {
|
|
background: inherit;
|
|
border-top: 2px solid @hover;
|
|
}
|
|
|
|
#workspaces button {
|
|
padding: 0 4px;
|
|
color: gray;
|
|
font-weight: 300;
|
|
}
|
|
|
|
#workspaces button.empty {
|
|
color: #404040;
|
|
font-weight: 100;
|
|
}
|
|
|
|
#workspaces button.active {
|
|
background-color: rgba(0, 0, 0, 0.3);
|
|
color: white;
|
|
border-top: 2px solid @blue;
|
|
}
|
|
|
|
#workspaces button.urgent {
|
|
background-color: #eb4d4b;
|
|
}
|
|
|
|
#pulseaudio,
|
|
#clock,
|
|
#battery,
|
|
#cpu,
|
|
#memory,
|
|
#disk,
|
|
#temperature,
|
|
#backlight,
|
|
#wireplumber,
|
|
#tray,
|
|
#mode,
|
|
#scratchpad {
|
|
margin-left: 4px;
|
|
margin-right: 4px;
|
|
padding-left: 4px;
|
|
padding-right: 4px;
|
|
}
|
|
|
|
#clock {
|
|
color: @maroon;
|
|
border-bottom: 2px solid @maroon;
|
|
}
|
|
|
|
#clock.date {
|
|
color: @mauve;
|
|
border-bottom: 2px solid @mauve;
|
|
}
|
|
|
|
#pulseaudio {
|
|
color: @blue;
|
|
border-bottom: 2px solid @blue;
|
|
}
|
|
|
|
#network {
|
|
color: @yellow;
|
|
border-bottom: 2px solid @yellow;
|
|
}
|
|
|
|
#idle_inhibitor {
|
|
margin-right: 12px;
|
|
color: #7cb342;
|
|
}
|
|
|
|
#idle_inhibitor.activated {
|
|
color: @red;
|
|
}
|
|
|
|
#battery.charging,
|
|
#battery.plugged {
|
|
color: @green;
|
|
border-bottom: 2px solid @green;
|
|
}
|
|
|
|
/* If workspaces is the leftmost module, omit left margin */
|
|
.modules-left>widget:first-child>#workspaces {
|
|
margin-left: 0;
|
|
}
|
|
'';
|
|
};
|
|
|
|
systemd.user.services.waybar = lib.mkIf (cfg.enable && cfg.systemd.enable) {
|
|
Service.Environment = [
|
|
"DISPLAY=:0"
|
|
];
|
|
};
|
|
}
|