diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 78c1cf9..027737a 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -17,11 +17,11 @@ # debug strace ltrace lsof # apps - firefox qalculate-gtk krita inkscape onlyoffice-desktopeditors vlc nicotine-plus transmission_4-gtk font-manager + firefox qalculate-gtk krita inkscape onlyoffice-desktopeditors vlc nicotine-plus transmission_4-gtk font-manager obs-studio kdePackages.kdenlive # compatibility wineWowPackages.waylandFull winetricks # misc - bat file which packwiz yt-dlp wl-screenrec wl-clipboard grim hyfetch + bat file which packwiz yt-dlp hyfetch # games prismlauncher ] ++ (with pkgs.my; [ diff --git a/modules/desktop/themes/catppuccin/waybar.css b/modules/desktop/themes/catppuccin/waybar.css index 47888ec..b45b69d 100644 --- a/modules/desktop/themes/catppuccin/waybar.css +++ b/modules/desktop/themes/catppuccin/waybar.css @@ -104,24 +104,52 @@ window#waybar.floating #window { color: @teal; } -#battery { - color: @green; +#cpu { + color: @sapphire; } +@keyframes blink { + to { + color: @text; + } +} + +#memory { + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + color: @lavender; +} +#memory.warning { + color: @peach; + animation-name: blink; + animation-duration: 3s; +} +#memory.critical { + color: @maroon; + animation-name: blink; + animation-duration: 2s; +} + +#battery { + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + color: @green; +} +/* this here is ditto */ #battery.charging { color: @green; } - -#battery.warning:not(.charging) { +#battery.warning.discharging { color: @peach; + animation-name: blink; + animation-duration: 3s; } - -#battery.critical:not(.charging) { +#battery.critical.discharging { color: @maroon; -} - -#network { - color: @sapphire; + animation-name: blink; + animation-duration: 2s; } #backlight { @@ -131,6 +159,9 @@ window#waybar.floating #window { #pulseaudio { color: @pink; } +#pulseaudio.muted { + color: @overlay1; +} #custom-power { color: @red; @@ -149,13 +180,58 @@ window#waybar.floating #window { color: @text; } -tooltip { +box#playback { + background-color: transparent; + margin: 0 0; + padding: 0 0; +} + +#mpris { + background-color: @surface0; + margin: 0 0.25em; + padding: 0.15em 0.5em; + border-radius: 1em; +} +#mpris.playing { + color: @accent; + background: @surface0; +} +#mpris.paused, #mpris.stopped { + color: @overlay1; +} + +window decoration { + box-shadow: none; +} + +tooltip, window.popup menu { background: @base; border: 1px solid @surface2; + font-size: 12px; + color: @text; +} +tooltip *, window.popup { + font-family: CozetteVector, monospace; } tooltip * { padding: 0px; margin: 0px; color: @text; - font-family: CozetteVector, monospace; +} + +window.popup separator { + background-color: @surface0; +} + +window.popup menuitem:disabled { + color: @overlay1; +} + +window.popup menuitem:hover { + background-color: @accent; + color: @surface0; +} + +window.popup menuitem:hover > box { + background-color: transparent; } diff --git a/modules/desktop/waybar.nix b/modules/desktop/waybar.nix index 254bb00..b540157 100644 --- a/modules/desktop/waybar.nix +++ b/modules/desktop/waybar.nix @@ -14,12 +14,6 @@ in { }; config = mkIf cfg.enable { - # runtime requirements for modules - user.packages = with pkgs; [ - # mpris - playerctl - ]; - modules.desktop.execOnStart = [ "${lib.getExe cfg.package}" ]; hm.programs.waybar = { enable = true; @@ -172,11 +166,17 @@ in { cpu = { interval = 4; format = " {usage}% {avg_frequency}GHz"; + on-click = "${lib.getExe pkgs.gnome-system-monitor}"; }; memory = { interval = 4; format = " {percentage}%"; tooltip-format = "{used:0.1f}GiB/{avail:0.1f}GiB used\n{swapUsed:0.1f}GiB/{swapAvail:0.1f}GiB swap"; + on-click = "${lib.getExe pkgs.gnome-system-monitor}"; + states = { + warning = 80; + critical = 90; + }; }; power-profiles-daemon = { format = "{icon}"; @@ -212,10 +212,11 @@ in { ]; }; mpris = { - format = "{status_icon} {dynamic}"; + format = "♫ {dynamic}"; format-paused = "{status_icon} {dynamic}"; - dynamic-order = [ "title" ]; - tooltip-format = "{player}: {dynamic}"; + dynamic-order = [ "artist" "title" ]; + tooltip-format = "{player} | {status_icon} {artist} - {title} from {album} ({position}/{length})"; + title-length = 48; interval = 1; status-icons = { playing = "⏸";