misc niri/waybar tweaks

This commit is contained in:
Vinzenz Schroeter 2025-03-17 18:09:24 +01:00
parent 64baa2e773
commit ed9df2da83
2 changed files with 170 additions and 11 deletions

View file

@ -10,6 +10,23 @@
swaylock
];
qt.style = {
package = pkgs.adwaita-qt;
name = "adwaita-dark";
};
services = {
kdeconnect = {
enable = true;
indicator = true;
};
mako = {
enable = true;
};
};
# services.swayidle.enable = true;
programs.niri.settings = {
input.keyboard.xkb.layout = "de";

View file

@ -1,6 +1,13 @@
{ pkgs, device, ... }:
{
config.programs.waybar = {
home.packages = with pkgs; [
waybar
playerctl
];
programs.cava.enable = true;
programs.waybar = {
enable = true;
settings = {
mainBar = {
@ -14,25 +21,31 @@
spacing = "8";
modules-left = [
"niri/workspaces"
"tray"
"niri/window"
];
modules-center = [
"privacy"
"clock"
];
modules-right = [
"tray"
"mpd"
"mpris"
"image"
"cava"
"gamemode"
"temperature"
"cpu"
"disk"
"backlight"
"pulseaudio"
"bluetooth"
"memory"
"disk"
"wireplumber"
"bluetooth"
"backlight"
"network"
"power-profiles-daemon"
"battery"
"idle_inhibitor"
#"group/group-power"
];
"niri/workspaces" = {
format = "{icon}";
@ -95,15 +108,15 @@
format = "{percent}% ";
};
cpu = {
"interval" = 1;
"format" =
interval = 1;
format =
"{usage:3}%@{avg_frequency:4} "
+ (builtins.getAttr device {
"vinzenz-lpt2" =
"{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}{icon8}{icon9}{icon10}{icon11}{icon12}{icon13}{icon14}{icon15}{icon16}{icon17}{icon18}{icon19}";
})
+ " ";
"format-icons" = [
format-icons = [
"<span color='#69ff94'></span>"
"<span color='#2aa9ff'></span>"
"<span color='#f8f8f2'></span>"
@ -114,6 +127,135 @@
"<span color='#dd532e'></span>"
];
};
cava = {
framerate = 15;
autosens = 1;
method = "pipewire";
sleep_timer = 3;
source = "auto";
bar_delimiter = 0;
bars = 12;
input_delay = 2;
hide_on_silence = true;
format-icons = [
"<span font-family='monospace'></span>"
"<span font-family='monospace'></span>"
"<span font-family='monospace'></span>"
"<span font-family='monospace'></span>"
"<span font-family='monospace'></span>"
"<span font-family='monospace'></span>"
"<span font-family='monospace'></span>"
"<span font-family='monospace'></span>"
];
actions = {
"on-click-right" = "mode";
};
};
disk = {
format = "{free}/{total}";
};
"group/group-power" = {
"orientation" = "inherit";
"drawer" = {
"transition-duration" = 500;
"children-class" = "not-power";
"transition-left-to-right" = false;
};
"modules" = [
"custom/power" # First element is the "group leader" and won't ever be hidden
"custom/quit"
"custom/lock"
"custom/reboot"
];
};
"custom/quit" = {
"format" = "󰗼";
"tooltip" = false;
"on-click" = "hyprctl dispatch exit";
min-width = 20;
};
"custom/lock" = {
"format" = "󰍁";
"tooltip" = false;
"on-click" = "swaylock";
};
"custom/reboot" = {
"format" = "󰜉";
"tooltip" = false;
"on-click" = "reboot";
};
"custom/power" = {
"format" = "";
"tooltip" = false;
"on-click" = "shutdown now";
};
idle_inhibitor = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
};
image =
let
albumArtScript = pkgs.writeShellScriptBin "album-art.sh" ''
#!${pkgs.bash}/bin/bash
album_art=$(playerctl metadata mpris:artUrl)
if [[ -z $album_art ]]
then
exit
fi
curl -s "''${album_art}" --output "/tmp/cover.jpeg"
echo "/tmp/cover.jpeg"
'';
in
{
exec = "${albumArtScript}/bin/album-art.sh";
interval = 15;
on-click = "playerctl play-pause";
};
mpris = {
format = "{title} ";
tooltip-format = "{player} ({status}) {dynamic}";
};
memory = {
format = "{}% ";
};
power-profiles-daemon = {
format = "{icon}";
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
tooltip = true;
format-icons = {
default = "";
performance = "";
balanced = "";
power-saver = "";
};
};
wireplumber = {
format = "{volume}% {icon}";
format-muted = "";
format-icons = [
""
""
""
];
};
temperature = {
format = "{temperatureC}°C ";
};
tray = {
spacing = 4;
};
bluetooth = {
format = " {status} ";
format-connected = " {device_alias} ";
format-connected-battery = " {device_alias} {device_battery_percentage}% ";
tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
tooltip-format-enumerate-connected-battery = "{device_alias}\t{device_address}\t{device_battery_percentage}%";
};
};
};
};