Compare commits

...

3 Commits

4 changed files with 110 additions and 36 deletions

View File

@@ -125,6 +125,7 @@
pulse.enable = true; # PulseAudio compatibility pulse.enable = true; # PulseAudio compatibility
wireplumber.enable = true; # Session manager wireplumber.enable = true; # Session manager
}; };
playerctld.enable = true; # Playerctl daemon for media controls
# Antivirus protection with automatic updates # Antivirus protection with automatic updates
clamav = { clamav = {

View File

@@ -107,6 +107,7 @@
mako # Notification daemon mako # Notification daemon
hyprlock # Screen lock utility hyprlock # Screen lock utility
hyprpicker # Color picker hyprpicker # Color picker
waybar-mpris # MPRIS support for waybar
# ---- CLIPBOARD & INPUT ---- # ---- CLIPBOARD & INPUT ----
wl-clipboard # Clipboard utilities for Wayland wl-clipboard # Clipboard utilities for Wayland

View File

@@ -1,24 +1,25 @@
{ {
programs.waybar = { programs.waybar = {
enable = true; enable = true;
systemd.target = "graphical-session.target";
settings = [ settings = [
{ {
output = ["eDP-1"]; output = ["DP-3" "eDP-1"];
spacing = 8; spacing = 8;
"modules-left" = ["hyprland/workspaces"]; "modules-left" = ["hyprland/workspaces" "cava" "mpris"];
"modules-center" = ["mpris" "cava" "hyprland/window"]; "modules-center" = ["hyprland/window"];
"modules-right" = ["idle_inhibitor" "custom/audio_idle_inhibitor" "wireplumber" "backlight" "battery" "clock" "tray"]; "modules-right" = ["idle_inhibitor" "wireplumber" "backlight" "load" "power-profiles-daemon" "battery" "clock" "tray"];
"hyprland/workspaces" = { "hyprland/workspaces" = {
"all-outputs" = false; "all-outputs" = false;
"warp-on-scroll" = true;
"enable-bar-scroll" = true;
}; };
"hyprland/window" = { "hyprland/window" = {
format = "{title}"; format = "{title}";
"max-length" = 60; "max-length" = 60;
"all-outputs" = true; "all-outputs" = true;
"separate-outputs" = true;
}; };
load = {format = " {}";}; load = {format = " {load1}";};
backlight = { backlight = {
format = "{icon} {percent}%"; format = "{icon} {percent}%";
"format-icons" = ["" "" "" "" "" "" "" "" ""]; "format-icons" = ["" "" "" "" "" "" "" "" ""];
@@ -29,19 +30,20 @@
"format-alt" = " {:%a %F}"; "format-alt" = " {:%a %F}";
}; };
cava = { cava = {
framerate = 30; framerate = 60;
autosens = 1; autosens = 1;
bars = 14; bars = 10;
"lower_cutoff_freq" = 50; "lower_cutoff_freq" = 50;
"higher_cutoff_freq" = 10000; "higher_cutoff_freq" = 10000;
method = "pulse"; method = "pulse";
source = "auto"; source = "auto";
stereo = true; stereo = false;
"bar_delimiter" = 0; "bar_delimiter" = 0;
"noise_reduction" = 0.77; "noise_reduction" = 0.77;
"input_delay" = 2; "input_delay" = 2;
"hide_on_silence" = true; "hide_on_silence" = true;
"format-icons" = [" " "" "" "" "" "" "" ""]; "sleep_timer" = 3;
"format-icons" = ["" "" "" "" "" "" "" ""];
actions = {"on-click-right" = "mode";}; actions = {"on-click-right" = "mode";};
}; };
"idle_inhibitor" = { "idle_inhibitor" = {
@@ -55,6 +57,17 @@
"icon-size" = 14; "icon-size" = 14;
spacing = 10; spacing = 10;
}; };
"power-profiles-daemon" = {
"format" = "{icon}";
"tooltip-format" = "Power profile: {profile}\nDriver: {driver}";
"tooltip" = true;
"format-icons" = {
"default" = "";
"performance" = "";
"balanced" = "";
"power-saver" = "";
};
};
battery = { battery = {
states = { states = {
warning = 30; warning = 30;
@@ -78,19 +91,6 @@
}; };
"dynamic-order" = ["title" "artist"]; "dynamic-order" = ["title" "artist"];
}; };
"custom/audio_idle_inhibitor" = {
format = "{icon}";
exec = "sway-audio-idle-inhibit --dry-print-both-waybar --ignore-source-outputs cava";
"exec-if" = "which sway-audio-idle-inhibit";
"return-type" = "json";
"format-icons" = {
output = "";
input = "";
"output-input" = " ";
none = "";
};
};
wireplumber = { wireplumber = {
"scroll-step" = 1; "scroll-step" = 1;
format = "{icon} {volume}%"; format = "{icon} {volume}%";
@@ -110,6 +110,56 @@
"on-click-right" = "pavucontrol"; "on-click-right" = "pavucontrol";
}; };
} }
{
output = ["HDMI-A-1"];
spacing = 8;
"modules-left" = ["hyprland/workspaces" "cava" "mpris"];
"modules-center" = ["hyprland/window"];
"modules-right" = ["clock"];
"hyprland/workspaces" = {
"all-outputs" = false;
};
"hyprland/window" = {
format = "{title}";
"max-length" = 60;
"all-outputs" = true;
"separate-outputs" = true;
};
clock = {
"tooltip-format" = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
format = " {:%H:%M}";
"format-alt" = " {:%a %F}";
};
cava = {
framerate = 60;
autosens = 1;
bars = 10;
"lower_cutoff_freq" = 50;
"higher_cutoff_freq" = 10000;
method = "pulse";
source = "auto";
stereo = false;
"bar_delimiter" = 0;
"noise_reduction" = 0.77;
"input_delay" = 2;
"hide_on_silence" = true;
"sleep_timer" = 3;
"format-icons" = ["" "" "" "" "" "" "" ""];
actions = {"on-click-right" = "mode";};
};
mpris = {
format = "{status_icon} {dynamic}";
interval = 1;
"dynamic-len" = 60;
"status-icons" = {
playing = "";
paused = "";
stopped = "";
};
"dynamic-order" = ["title" "artist"];
};
}
]; ];
style = '' style = ''
/* colors */ /* colors */
@@ -158,12 +208,12 @@
} }
window#waybar { window#waybar {
font-family: Iosevka Nerd Font Propo, monospace; font-family: Intel One Mono, Symbols Nerd Font Mono, monospace;
background-color: transparent; background-color: transparent;
border-bottom: 0px; border-bottom: 0px;
color: @fg; color: @fg;
transition-property: background-color; transition-property: background-color;
transition-duration: .5s; transition-duration: .4s;
} }
window#waybar.hidden { window#waybar.hidden {
@@ -184,14 +234,10 @@
} }
*/ */
.modules-left,
.modules-center,
.modules-right { .modules-right {
margin: 10px 10px 0 0; margin: 15px 15px 0;
}
.modules-center {
margin: 10px 0 0 0;
}
.modules-left {
margin: 10px 0 0 10px;
} }
button { button {
@@ -231,10 +277,11 @@
} }
#workspaces button:hover { #workspaces button:hover {
color: @yellow; color: @orange;
} }
#workspaces button.focused { #workspaces button.active {
color: @yellow;
background-color: @bg3; background-color: @bg3;
/* box-shadow: inset 0 -3px #ffffff; */ /* box-shadow: inset 0 -3px #ffffff; */
} }
@@ -255,6 +302,7 @@
#wireplumber, #wireplumber,
#tray, #tray,
#mpris, #mpris,
#power-profiles-daemon,
#load { #load {
padding: 0 10px; padding: 0 10px;
background-color: @bg; background-color: @bg;
@@ -287,11 +335,32 @@
padding: 0 5px; padding: 0 5px;
} }
#cava.silent {
background-color: transparent;
color: transparent;
padding: 0;
}
#battery.charging, #battery.plugged { #battery.charging, #battery.plugged {
background-color: @green; background-color: @green;
color: @fglight; color: @fglight;
} }
#power-profiles-daemon.performance {
background-color: @red;
color: @fglight;
}
#power-profiles-daemon.balanced {
background-color: @blue;
color: @fglight;
}
#power-profiles-daemon.power-saver {
background-color: @green;
color: @fglight;
}
@keyframes blink { @keyframes blink {
to { to {
background-color: @bg; background-color: @bg;

View File

@@ -72,7 +72,7 @@ in {
plexamp plexamp
remmina remmina
# Visual # Audio / Visual
loupe # Image viewer loupe # Image viewer
inkscape # Vector editor inkscape # Vector editor
krita # Image editor krita # Image editor
@@ -80,6 +80,9 @@ in {
darktable # Raw editor darktable # Raw editor
imagemagick # Image processing imagemagick # Image processing
mpv # Video player mpv # Video player
cava # Audio visualizer
wireplumber # Audio server
pavucontrol # Audio control
]; ];
programs = { programs = {