diff --git a/home/vinzenz/niri.nix b/home/vinzenz/niri.nix
index 378e310..b801c6b 100644
--- a/home/vinzenz/niri.nix
+++ b/home/vinzenz/niri.nix
@@ -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";
diff --git a/home/vinzenz/waybar.nix b/home/vinzenz/waybar.nix
index 413036d..145e15a 100644
--- a/home/vinzenz/waybar.nix
+++ b/home/vinzenz/waybar.nix
@@ -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 = [
"▁"
"▂"
"▃"
@@ -114,6 +127,135 @@
"█"
];
};
+ 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 = [
+ "▁"
+ "▂"
+ "▃"
+ "▄"
+ "▅"
+ "▆"
+ "▇"
+ "█"
+ ];
+ 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}%";
+ };
};
};
};