waybar feature

This commit is contained in:
2026-07-07 16:24:03 +01:00
parent c1ce520858
commit 47296ec554
4 changed files with 279 additions and 0 deletions

View File

@@ -42,6 +42,7 @@
kitty = self'.packages.kitty; kitty = self'.packages.kitty;
gotify-desktop = self'.packages.gotify-desktop; gotify-desktop = self'.packages.gotify-desktop;
otter-launcher = self'.packages.otter-launcher; otter-launcher = self'.packages.otter-launcher;
waybar = self'.packages.waybar;
}; };
}; };
wpaperd = let wpaperd = let

View File

@@ -0,0 +1,42 @@
{
moduleWithSystem,
inputs,
...
}: {
flake.nixosModules.waybar = moduleWithSystem ({self', ...}: {
environment.systemPackages = with self'.packages; [
waybar
];
});
perSystem = {pkgs, ...}: {
packages.waybar = inputs.wrappers.wrappers.waybar.wrap {
inherit pkgs;
"style.css".path = ./style.css;
configFile.content = ''
{
"include": [
"${./modules.jsonc}"
],
"height": 20,
"margin": "3 6",
"reload_style_on_change": true,
"position": "top",
"modules-left": [
"custom/logo",
"hyprland/workspaces"
],
"modules-center": [
"mpris"
],
"modules-right": [
"network",
"bluetooth",
"custom/notifs",
"battery",
"clock"
]
}
'';
};
};
}

View File

@@ -0,0 +1,78 @@
{
"custom/logo": {
"format": ""
},
"mpris": {
"format": "{status_icon} {title} - {artist}",
"title-len": 50,
"artist-len": 20,
"status-icons": {
"playing": "",
"paused": ""
}
},
"network": {
"format": "󰤭",
"format-ethernet": "󰈀",
"format-wifi": "{icon}",
"format-icons": [
"󰤟",
"󰤢",
"󰤥",
"󰤨"
],
"format-alt": "{ipaddr} / {gwaddr}",
"tooltip-format": "{ifname} - {essid}"
},
"bluetooth": {
"format": "󰂲",
"format-connected": "󰂱",
"tooltip-format": "{status} - {device_alias}",
"on-click": "kitty --class otter --title otter-launcher -e sh -c 'sleep 0.05 && otter-launcher bl'"
},
"battery": {
"format": "{icon} {capacity}%",
"format-plugged": "󰂄 {capacity}%",
"format-charging": "󰂄 {capacity}%",
"states": {
"warning": 30,
"critical": 15
},
"format-icons": [
"",
"",
"",
""
]
},
"custom/notifs": {
"format": "",
"on-click": "kitty --class otter --title otter-launcher -e sh -c 'sleep 0.05 && otter-launcher dunst'"
},
"memory": {
"format": " {percentage}%",
"tooltip-format": "{used:0.1f}GiB, {swapUsed:0.1f}GiB Swap"
},
"cpu": {
"format": " {usage}%"
},
"clock": {
"interval": 1,
"format": "{:%T}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode" : "year",
"mode-mon-col" : 3,
"weeks-pos" : "right",
"on-scroll" : 1,
"format": {
"months": "<span color='#89b4fa'><b>{}</b></span>",
"days": "<span color='#eba0ac'><b>{}</b></span>",
"weeks": "<span color='#a6e3a1'><b>W{}</b></span>",
"weekdays": "<span color='#fab387'><b>{}</b></span>",
"today": "<span color='#cba6f7'><b><u>{}</u></b></span>"
}
},
}
}

View File

@@ -0,0 +1,158 @@
* {
font-family: "Fira Mono Nerd Font Propo";
font-size: 16px;
font-weight: bold;
min-height: 16px;
margin: 0;
padding: 0;
}
window#waybar {
background: transparent;
}
.module {
background-color: rgba(30, 30, 46, 0.8);
margin: 0 3px;
padding: 0 9px;
border-radius: 7px;
}
#custom-logo {
background-color: #cba6f7;
color: #1e1e2e;
font-size: 21px;
}
#workspaces {
padding: 3px 4px;
}
#workspaces button {
background-color: #585b70;
margin: 0 2px;
padding: 0 2px;
border-radius: 2px;
}
#workspaces button:first-child {
border-radius: 5px 2px 2px 5px;
margin: 0;
margin-right: 2px;
}
#workspaces button:last-child {
border-radius: 2px 5px 5px 4px;
margin: 0;
margin-left: 2px;
}
#workspaces button:only-child {
border-radius: 5px;
padding: 0 12px;
margin: 0 1px;
}
#workspaces button.active {
background-color: #b4befe;
color: #313244;
}
#mpris {
font-size: 14px;
transition:
color 0.5s,
background-color 0.5s;
}
#mpris.paused {
color: #f2cdcd;
}
#mpris.playing {
color: rgba(30, 30, 46, 0.8);
background-color: #ca9ee6;
}
#network {
background-color: #f38ba8;
color: #1e1e2e;
}
#bluetooth {
background-color: #fab387;
color: #1e1e2e;
}
#custom-notifs {
background-color: #f9e2af;
color: #1e1e2e;
}
#battery {
background-color: #a6e3a1;
color: #1e1e2e;
transition:
color 0.5s,
background-color 0.5s,
linear-gradient 0.4s;
}
#battery.warning {
color: #1e1e2e;
background: #f38ba8;
background: linear-gradient(
135deg,
rgba(243, 139, 168, 1) 0%,
rgba(166, 218, 149, 1) 65%,
rgba(166, 218, 149, 1) 100%
);
}
#battery.charging {
background-color: #40a02b;
background: #cba6f7;
background: linear-gradient(
135deg,
rgba(203, 166, 247, 1) 0%,
rgba(166, 218, 149, 1) 65%,
rgba(166, 218, 149, 1) 100%
);
}
#battery.plugged {
background-color: #40a02b;
background: #cba6f7;
background: linear-gradient(
135deg,
rgba(203, 166, 247, 1) 0%,
rgba(166, 218, 149, 1) 65%,
rgba(166, 218, 149, 1) 100%
);
}
#battery.critical {
color: #f38ba8;
}
#memory {
padding-right: 3px;
border-radius: 7px 0 0 7px;
margin-right: 0;
background-color: #89dceb;
color: #1e1e2e;
}
#cpu {
padding-left: 3px;
border-radius: 0 7px 7px 0;
margin-left: 0;
background-color: #89dceb;
color: #1e1e2e;
}
#clock {
background-color: #89b4fa;
color: #1e1e2e;
}