Wrap waybar

This commit is contained in:
SebastianStork 2024-05-09 19:07:27 +02:00
parent 51c90e00fa
commit 0624562069
2 changed files with 118 additions and 108 deletions

View file

@ -1,7 +1,7 @@
{ {
config, config,
pkgs,
lib, lib,
myWrappers,
... ...
}: { }: {
options.myConfig.de.waybar.enable = lib.mkEnableOption ""; options.myConfig.de.waybar.enable = lib.mkEnableOption "";
@ -9,116 +9,10 @@
config = lib.mkIf config.myConfig.de.waybar.enable { config = lib.mkIf config.myConfig.de.waybar.enable {
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = myWrappers.waybar;
systemd.enable = true; systemd.enable = true;
settings = {
mainBar = {
layer = "top";
position = "bottom";
spacing = 10;
modules-left = ["clock"];
modules-center = ["hyprland/workspaces"];
modules-right = [
"tray"
"network"
"wireplumber"
"backlight"
"battery"
];
"hyprland/workspaces" = {
active-only = false;
all-outputs = true;
};
clock = {
format = " {:%H.%M}";
tooltip-format = "{:%d.%m.%Y}";
};
network = {
interval = 10;
format = "";
format-wifi = "{icon}";
format-icons = [
"󰤟"
"󰤢"
"󰤥"
"󰤨"
];
tooltip-format-wifi = "{essid} 󰇚 {bandwidthDownBits} 󰕒 {bandwidthUpBits}";
format-ethernet = "󰌗";
tooltip-format-ethernet = "󰇚 {bandwidthDownBits} 󰕒 {bandwidthUpBits}";
format-disconnected = "󰪎";
tooltip-format-disconnected = "Disconnected";
};
wireplumber = {
format = "{icon} {volume}%";
format-muted = "󰝟";
format-icons = [
"󰕿"
"󰖀"
"󰕾"
];
scroll-step = "5";
};
tray = {
icon-size = 20;
spacing = 6;
};
backlight = {
device = "amdgpu_bl1";
format = "{icon} {percent}%";
format-icons = [
"󰃞"
"󰃟"
"󰃠"
];
};
battery = {
states = {
warning = 15;
critical = 5;
};
format = "{icon} {capacity}%";
format-icons = [
"󰂎"
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
};
};
};
style = ''
* {
border: none;
border-radius: 0px;
font-family: "Open Sans, Symbols Nerd Font Mono";
font-size: 15px;
}
'';
}; };
systemd.user.services.waybar.Unit.After = ["sound.target"]; systemd.user.services.waybar.Unit.After = ["sound.target"];
xdg.configFile."waybar/config".onChange = lib.mkForce "${lib.getExe' pkgs.systemd "systemctl"} restart --user waybar";
xdg.configFile."waybar/style.css".onChange = lib.mkForce "${lib.getExe' pkgs.systemd "systemctl"} restart --user waybar";
}; };
} }

116
wrappers/waybar.nix Normal file
View file

@ -0,0 +1,116 @@
{
assembleWrapper,
pkgs,
...
}:
assembleWrapper {
basePackage = pkgs.waybar;
flags = let
waybar-config = (pkgs.formats.json {}).generate "waybar-config" {
layer = "top";
position = "bottom";
spacing = 10;
modules-left = ["clock"];
modules-center = ["hyprland/workspaces"];
modules-right = [
"tray"
"network"
"wireplumber"
"backlight"
"battery"
];
"hyprland/workspaces" = {
active-only = false;
all-outputs = true;
};
clock = {
format = " {:%H.%M}";
tooltip-format = "{:%d.%m.%Y}";
};
network = {
interval = 10;
format = "";
format-wifi = "{icon}";
format-icons = [
"󰤟"
"󰤢"
"󰤥"
"󰤨"
];
tooltip-format-wifi = "{essid} 󰇚 {bandwidthDownBits} 󰕒 {bandwidthUpBits}";
format-ethernet = "󰌗";
tooltip-format-ethernet = "󰇚 {bandwidthDownBits} 󰕒 {bandwidthUpBits}";
format-disconnected = "󰪎";
tooltip-format-disconnected = "Disconnected";
};
wireplumber = {
format = "{icon} {volume}%";
format-muted = "󰝟";
format-icons = [
"󰕿"
"󰖀"
"󰕾"
];
scroll-step = "5";
};
tray = {
icon-size = 20;
spacing = 6;
};
backlight = {
device = "amdgpu_bl1";
format = "{icon} {percent}%";
format-icons = [
"󰃞"
"󰃟"
"󰃠"
];
};
battery = {
states = {
warning = 15;
critical = 5;
};
format = "{icon} {capacity}%";
format-icons = [
"󰂎"
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
};
};
waybar-style = pkgs.writeText "waybar-style" ''
* {
border: none;
border-radius: 0px;
font-family: "Open Sans, Symbols Nerd Font Mono";
font-size: 15px;
}
'';
in [
"--config"
waybar-config
"--style"
waybar-style
];
}