diff --git a/home/profiles/grovetender.nix b/home/profiles/grovetender.nix
index b45f5042..16c422ad 100644
--- a/home/profiles/grovetender.nix
+++ b/home/profiles/grovetender.nix
@@ -25,16 +25,16 @@
anyrun.enable = true;
};
lock = {
- hyprlock.enable = false;
+ hyprlock.enable = true;
};
services = {
- ags.enable = true;
+ ags.enable = false;
cliphist.enable = true;
hypridle.enable = true;
hyprpaper.enable = true;
kanshi.enable = true;
- # swaync.enable = true;
- #waybar.enable = true;
+ swaync.enable = true;
+ waybar.enable = true;
glance.enable = true;
};
utils = {
diff --git a/modules/home/core/style/stylix.nix b/modules/home/core/style/stylix.nix
index ef58daa4..dd7845d7 100644
--- a/modules/home/core/style/stylix.nix
+++ b/modules/home/core/style/stylix.nix
@@ -35,8 +35,8 @@
fonts = {
sizes.terminal = 13;
monospace = {
- name = "Roboto Mono Nerd Font Propo";
- package = pkgs.nerd-fonts.roboto-mono;
+ name = "GeistMono Nerd Font";
+ package = pkgs.nerd-fonts.geist-mono;
};
sansSerif = {
name = "IBM Plex Sans";
diff --git a/modules/home/opt/launcher/anyrun/default.nix b/modules/home/opt/launcher/anyrun/default.nix
index c8bd3f41..e84332d1 100644
--- a/modules/home/opt/launcher/anyrun/default.nix
+++ b/modules/home/opt/launcher/anyrun/default.nix
@@ -13,7 +13,6 @@ let
inherit (lib) mkIf mkEnableOption;
inherit (inputs) anyrun;
inherit (pkgs) system;
- opacity = toString config.stylix.opacity.popups;
cfg = config.opt.launcher.anyrun;
in
@@ -114,51 +113,70 @@ in
# this compiles the SCSS file from the given path into CSS
# by default, `-t expanded` as the args to the sass compiler
- extraCss = with config.lib.stylix.colors; ''
- $fontSize: 1.3rem;
- $fontFamily: Lexend;
- $transparentColor: transparent;
- $rgbaColor: rgba(203, 166, 247, 0.7);
- $bgColor: rgba(30, 30, 46, 1);
- $borderColor: #494d64;
- $borderRadius: 16px;
- $paddingValue: 8px;
-
+ extraCss = with config.lib.stylix.colors.withHashtag; ''
+ /* Global */
* {
- transition: 200ms ease;
- font-family: Lexend;
- font-size: 1.3rem;
+ all: unset;
+ font-family: "GeistMono Nerd Font Propo", sans-serif;
+ font-size: 11pt;
+ font-weight: 500;
+ transition: 300ms;
}
+ /* Modules */
#window,
#match,
#entry,
#plugin,
#main {
- background: transparent;
+ background: transparent;
}
- #match:selected {
- background: "rgba(${base01-rgb-r}, ${base01-rgb-g}, ${base01-rgb-b}, ${opacity})";
+ /* Entry */
+ #entry {
+ background: ${base01};
+ border-radius: 12px;
+ margin: 0.5rem;
+ padding: 0.5rem;
}
- #match {
- padding: 3px;
- border-radius: 6px;
+ /* Match */
+ #match.activatable {
+ background: ${base01};
+ padding: 0.5rem 1rem;
}
- #entry,
+ #match.activatable:first-child {
+ border-radius: 12px 12px 0 0;
+ }
+
+ #match.activatable:last-child {
+ border-radius: 0 0 12px 12px;
+ }
+
+ #match.activatable:only-child {
+ border-radius: 12px;
+ }
+
+ /* Hover and selected states */
+ #match:selected,
+ #match:hover,
#plugin:hover {
- border-radius: 6px;;
+ background: lighter(${base01});
}
+ /* Main container */
box#main {
- background: ${base01};
- border: 2px solid ${base00};
- border-radius: 6px;
- padding: 8px;
+ background: ${base00};
+ border-radius: 12px;
+ padding: 0.5rem;
}
+ /* Plugin within list */
+ list > #plugin {
+ border-radius: 12px;
+ margin: 0.5rem;
+ }
'';
};
};
diff --git a/modules/home/opt/services/waybar/default.nix b/modules/home/opt/services/waybar/default.nix
index 6833c99b..a5b87ddf 100644
--- a/modules/home/opt/services/waybar/default.nix
+++ b/modules/home/opt/services/waybar/default.nix
@@ -1,132 +1,478 @@
-# ╭──────────────────────────────────────────────────╮
-# │ CREDITS TO: @khaneliman │
-# │ THIS IS A FORK OF HIS CONFIG, ALL CREDITS TO HIM │
-# ╰──────────────────────────────────────────────────╯
{
+ lib,
config,
pkgs,
- lib,
...
}:
let
- inherit (lib) mkIf mkEnableOption mkMerge;
-
- style = builtins.readFile ./styles/style.css;
- controlCenterStyle = builtins.readFile ./styles/control-center.css;
- powerStyle = builtins.readFile ./styles/power.css;
- statsStyle = builtins.readFile ./styles/stats.css;
- workspacesStyle = builtins.readFile ./styles/workspaces.css;
-
- custom-modules = import ./modules/custom-modules.nix { inherit config lib pkgs; };
- default-modules = import ./modules/default-modules.nix { inherit config lib pkgs; };
- group-modules = import ./modules/group-modules.nix;
- hyprland-modules = import ./modules/hyprland-modules.nix { inherit config lib; };
-
- commonAttributes = {
- layer = "top";
- position = "top";
-
- margin-top = 10;
- margin-left = 10;
- margin-right = 10;
-
- modules-left = [
- "custom/power"
- "hyprland/workspaces"
- "custom/separator-left"
- "hyprland/window"
- ];
- };
-
- fullSizeModules = {
- modules-right = [
- "group/tray"
- "custom/separator-right"
- "group/stats"
- "custom/separator-right"
- "group/control-center"
- "hyprland/submap"
- "custom/weather"
- "battery"
- "clock"
- ];
- };
-
- mkBarSettings = mkMerge [
- commonAttributes
- fullSizeModules
- custom-modules
- default-modules
- group-modules
- hyprland-modules
- ];
-
- generateOutputSettings =
- outputList:
- builtins.listToAttrs (
- builtins.map (outputName: {
- name = outputName;
- value = mkMerge [
- mkBarSettings
- { output = outputName; }
- ];
- }) outputList
- );
+ inherit (lib) mkIf mkEnableOption;
cfg = config.opt.services.waybar;
in
{
options.opt.services.waybar.enable = mkEnableOption "waybar";
- config = mkIf cfg.enable {
-
- programs.waybar = {
+ config.programs.waybar = with config.lib.stylix.colors.withHashtag; {
+ enable = mkIf cfg.enable true;
+ systemd = {
enable = true;
- systemd.enable = true;
-
- settings = generateOutputSettings [
- "eDP-1"
- "HDMI-A-1"
- "DP-3"
- "DP-4"
- "DP-5"
- "DP-6"
- "DP-7"
- ];
- style =
- with config.lib.stylix.colors;
- mkMerge [
- ''
- @define-color surface0 #${base01};
- @define-color surface1 #${base01};
- @define-color surface2 #${base01};
- @define-color surface3 #${base01};
-
- @define-color overlay0 #${base02};
-
- @define-color surface4 #${base00};
- @define-color theme_base_color #${base00};
-
- @define-color text #${base05};
- @define-color theme_text_color #${base05};
-
- @define-color red #${base08};
- @define-color orange #${base09};
- @define-color peach #${base09};
- @define-color yellow #${base0A};
- @define-color green #${base0B};
- @define-color purple #${base0E};
- @define-color blue #${base0D};
- @define-color lavender #${base0E};
- @define-color teal #${base0C};
- ''
- "${style}${controlCenterStyle}${powerStyle}${statsStyle}${workspacesStyle}"
- ];
- };
- sops.secrets = {
- weather_config = {
- path = "${config.home.homeDirectory}/weather_config.json";
- };
+ target = "graphical-session.target";
};
+ settings = [
+ {
+ layer = "top";
+ position = "top";
+ exclusive = true;
+ fixed-center = true;
+ gtk-layer-shell = true;
+ spacing = 0;
+ margin-top = 0;
+ margin-bottom = 0;
+ margin-left = 0;
+ margin-right = 0;
+ modules-left = [
+ "image"
+ "hyprland/workspaces"
+ "idle_inhibitor"
+ "hyprland/window"
+ ];
+ modules-right = [
+ "group/network-modules"
+ "group/wireplumber-modules"
+ "group/backlight-modules"
+ "group/battery-modules"
+ "tray"
+ "clock"
+ "group/notifications-modules"
+ "group/powermenu"
+ ];
+
+ "image" = {
+ path = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ size = 24;
+ tooltip = false;
+ };
+
+ "hyprland/workspaces" = {
+ format = "{id}";
+ };
+
+ idle_inhibitor = {
+ format = "{icon}";
+ format-icons = {
+ activated = "";
+ deactivated = "";
+ };
+ };
+
+ "hyprland/window" = {
+ format = "{title}";
+ icon = true;
+ icon-size = 24;
+ separate-outputs = true;
+ };
+
+ "group/network-modules" = {
+ modules = [
+ "network#icon"
+ "network#address"
+ ];
+ orientation = "inherit";
+ };
+ "network#icon" = {
+ format-disconnected = "";
+ format-ethernet = "";
+ format-wifi = "";
+ tooltip-format-wifi = "WiFi: {essid} ({signalStrength}%)\n {bandwidthUpBytes} {bandwidthDownBytes}";
+ tooltip-format-ethernet = "Ethernet: {ifname}\n {bandwidthUpBytes} {bandwidthDownBytes}";
+ tooltip-format-disconnected = "Disconnected";
+ on-click = "${pkgs.networkmanagerapplet}/bin/nm-connection-editor";
+ };
+ "network#address" = {
+ format-disconnected = "Disconnected";
+ format-ethernet = "{ipaddr}/{cidr}";
+ format-wifi = "{essid}";
+ tooltip-format-wifi = "WiFi: {essid} ({signalStrength}%)\n {bandwidthUpBytes} {bandwidthDownBytes}";
+ tooltip-format-ethernet = "Ethernet: {ifname}\n {bandwidthUpBytes} {bandwidthDownBytes}";
+ tooltip-format-disconnected = "Disconnected";
+ };
+
+ "group/wireplumber-modules" = {
+ modules = [
+ "wireplumber#icon"
+ "wireplumber#volume"
+ ];
+ orientation = "inherit";
+ };
+ "wireplumber#icon" = {
+ format = "{icon}";
+ format-muted = "";
+ format-icons = [
+ ""
+ ""
+ ""
+ ];
+ on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle &> /dev/null";
+ on-scroll-up = "${pkgs.wireplumber}/bin/wpctl set-volume -l '1.0' @DEFAULT_AUDIO_SINK@ 1%+ &> /dev/null";
+ on-scroll-down = "${pkgs.wireplumber}/bin/wpctl set-volume -l '1.0' @DEFAULT_AUDIO_SINK@ 1%- &> /dev/null";
+ tooltip-format = "Volume: {volume}%";
+ };
+ "wireplumber#volume" = {
+ format = "{volume}%";
+ tooltip-format = "Volume: {volume}%";
+ };
+
+ "group/backlight-modules" = {
+ modules = [
+ "backlight#icon"
+ "backlight#percent"
+ ];
+ orientation = "inherit";
+ };
+ "backlight#icon" = {
+ format = "{icon}";
+ format-icons = [
+ ""
+ ""
+ ""
+ ];
+ on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl set 1%+ &> /dev/null";
+ on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl set 1%- &> /dev/null";
+ tooltip-format = "Backlight: {percent}%";
+ };
+ "backlight#percent" = {
+ format = "{percent}%";
+ tooltip-format = "Backlight: {percent}%";
+ };
+
+ "group/battery-modules" = {
+ modules = [
+ "battery#icon"
+ "battery#capacity"
+ ];
+ orientation = "inherit";
+ };
+ "battery#icon" = {
+ format = "{icon}";
+ format-charging = "";
+ format-icons = [
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ];
+ format-plugged = "";
+ states = {
+ warning = 30;
+ critical = 15;
+ };
+ tooltip-format = "{timeTo}, {capacity}%";
+ };
+ "battery#capacity" = {
+ format = "{capacity}%";
+ tooltip-format = "{timeTo}, {capacity}%";
+ };
+
+ tray = {
+ icon-size = 24;
+ spacing = 10;
+ show-passive-items = true;
+ };
+
+ clock = {
+ actions = {
+ on-scroll-down = "shift_down";
+ on-scroll-up = "shift_up";
+ };
+ calendar = {
+ format = {
+ days = "{}";
+ months = "{}";
+ today = "{}";
+ weekdays = "{}";
+ };
+ mode = "month";
+ on-scroll = 1;
+ };
+ format = "{:%I:%M %p}";
+ tooltip-format = "{calendar}";
+ };
+
+ "group/notifications-modules" = {
+ modules = [
+ "notifications#icon"
+ ];
+ orientation = "inherit";
+ };
+ "notifications#icon" = {
+ format = "";
+ };
+
+ "group/powermenu" = {
+ drawer = {
+ children-class = "powermenu-child";
+ transition-duration = 300;
+ transition-left-to-right = false;
+ };
+ modules = [
+ "custom/power"
+ "custom/lock"
+ "custom/suspend"
+ "custom/exit"
+ "custom/reboot"
+ ];
+ orientation = "inherit";
+ };
+ "custom/power" = {
+ format = "";
+ on-click = "${pkgs.systemd}/bin/systemctl poweroff";
+ tooltip = false;
+ };
+ "custom/lock" = {
+ format = "";
+ on-click = "hyprlock";
+ tooltip = false;
+ };
+ "custom/suspend" = {
+ format = "";
+ on-click = "${pkgs.systemd}/bin/systemctl suspend";
+ tooltip = false;
+ };
+ "custom/exit" = {
+ format = "";
+ on-click = "${pkgs.systemd}/bin/loginctl terminate-user $USER";
+ tooltip = false;
+ };
+ "custom/reboot" = {
+ format = "";
+ on-click = "${pkgs.systemd}/bin/systemctl reboot";
+ tooltip = false;
+ };
+ }
+ ];
+
+ style = ''
+ /* Global */
+ * {
+ all: unset;
+ font-family: "GeistMono Nerd Font Propo", sans-serif;
+ font-size: 11pt;
+ font-weight: 500;
+ }
+
+ /* Menu */
+ menu {
+ background: ${base01};
+ border-radius: 8px;
+ }
+
+ menu separator {
+ background: ${base02};
+ }
+
+ menu menuitem {
+ background: transparent;
+ padding: 0.5rem;
+ transition: 300ms linear;
+ }
+
+ menu menuitem:hover {
+ background: lighter(${base02});
+ }
+
+ menu menuitem:first-child {
+ border-radius: 8px 8px 0 0;
+ }
+
+ menu menuitem:last-child {
+ border-radius: 0 0 8px 8px;
+ }
+
+ menu menuitem:only-child {
+ border-radius: 8px;
+ }
+
+ /* Tooltip */
+ tooltip {
+ background: ${base00};
+ border-radius: 8px;
+ }
+
+ tooltip label {
+ margin: 0.5rem;
+ }
+
+ /* Waybar */
+ window#waybar {
+ background: ${base00};
+ }
+
+ .modules-left {
+ padding-left: 0.25rem;
+ }
+
+ .modules-right {
+ padding-right: 0.25rem;
+ }
+
+ /* Modules */
+ #workspaces,
+ #workspaces button,
+ #idle_inhibitor,
+ #network-modules,
+ #wireplumber-modules,
+ #backlight-modules,
+ #battery-modules,
+ #notifications-modules,
+ #tray,
+ #clock,
+ #custom-exit,
+ #custom-lock,
+ #custom-suspend,
+ #custom-reboot,
+ #custom-power {
+ background: ${base02};
+ border-radius: 8px;
+ margin: 0.5rem 0.25rem;
+ transition: 300ms linear;
+ }
+
+ #image,
+ #window,
+ #network.address,
+ #wireplumber.volume,
+ #backlight.percent,
+ #battery.capacity,
+ #tray,
+ #clock {
+ padding: 0.25rem 0.75rem;
+ }
+
+ #idle_inhibitor,
+ #network.icon,
+ #wireplumber.icon,
+ #backlight.icon,
+ #battery.icon,
+ #notifications.icon,
+ #custom-exit,
+ #custom-lock,
+ #custom-suspend,
+ #custom-reboot,
+ #custom-power {
+ background: ${base0D};
+ color: ${base02};
+ border-radius: 8px;
+ font-size: 13pt;
+ padding: 0.25rem;
+ min-width: 1.5rem;
+ transition: 300ms linear;
+ }
+
+ /* Workspaces */
+ #workspaces button {
+ margin: 0;
+ padding: 0.25rem;
+ min-width: 1.5rem;
+ }
+
+ #workspaces button label {
+ color: ${base05};
+ }
+
+ #workspaces button.empty label {
+ color: ${base05};
+ }
+
+ #workspaces button.urgent label,
+ #workspaces button.active label {
+ color: ${base02};
+ }
+
+ #workspaces button.urgent {
+ background: ${base08};
+ }
+
+ #workspaces button.active {
+ background: ${base0D};
+ }
+
+ /* Idle Inhibitor */
+ #idle_inhibitor {
+ background: ${base02};
+ color: ${base0D};
+ }
+
+ #idle_inhibitor.deactivated {
+ color: ${base05};
+ }
+
+ /* Systray */
+ #tray > .passive {
+ -gtk-icon-effect: dim;
+ }
+
+ #tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background: ${base08};
+ }
+
+ /* Hover effects */
+ #workspaces button:hover,
+ #idle_inhibitor:hover,
+ #idle_inhibitor.deactivated:hover,
+ #clock:hover {
+ background: lighter(${base02});
+ }
+
+ #workspaces button.urgent:hover {
+ background: lighter(${base08});
+ }
+
+ #workspaces button.active:hover,
+ #network.icon:hover,
+ #wireplumber.icon:hover,
+ #custom-exit:hover,
+ #custom-lock:hover,
+ #custom-suspend:hover,
+ #custom-reboot:hover,
+ #custom-power:hover {
+ background: lighter(${base0D});
+ }
+
+ #workspaces button.urgent:hover label,
+ #workspaces button.active:hover label,
+ #network.icon:hover label,
+ #wireplumber.icon:hover label,
+ #custom-exit:hover label,
+ #custom-lock:hover label,
+ #custom-suspend:hover label,
+ #custom-reboot:hover label,
+ #custom-power:hover label {
+ color: lighter(${base02});
+ }
+
+ #workspaces button:hover label {
+ color: lighter(${base05});
+ }
+
+ #workspaces button.empty:hover label {
+ color: lighter(${base05});
+ }
+
+ #idle_inhibitor:hover {
+ color: lighter(${base0D});
+ }
+
+ #idle_inhibitor.deactivated:hover {
+ color: lighter(${base05});
+ }
+ '';
};
}
diff --git a/modules/home/opt/services/waybar/modules/custom-modules.nix b/modules/home/opt/services/waybar/modules/custom-modules.nix
deleted file mode 100644
index ed791150..00000000
--- a/modules/home/opt/services/waybar/modules/custom-modules.nix
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- inherit (lib) getExe getExe';
-
- githubHelper =
- pkgs.writeShellScriptBin "githubHelper" # bash
- ''
- #!/usr/bin/env bash
-
- NOTIFICATIONS="$(${getExe pkgs.gh} api notifications)"
- COUNT="$(echo "$NOTIFICATIONS" | ${getExe pkgs.jq} 'length')"
-
- echo '{"text":'"$COUNT"',"tooltip":"'"$COUNT"' Notifications","class":""}'
- '';
-in
-{
- "custom/ellipses" = {
- format = "";
- tooltip = false;
- };
-
- "custom/github" = {
- format = " {}";
- return-type = "json";
- interval = 60;
- exec = "${getExe githubHelper}";
- on-click = "${getExe' pkgs.coreutils "sleep"} 0.1 && gio open https://github.com/notifications";
- };
-
- "custom/lock" = {
- format = "";
- tooltip = false;
- on-click = "${getExe config.programs.hyprlock.package}";
- };
-
- "custom/media" = {
- format = "{icon} {}";
- return-type = "json";
- max-length = 40;
- format-icons = {
- spotify = "";
- default = "🎜";
- };
- escape = true;
- exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null";
- };
-
- "custom/notification" = {
- tooltip = true;
- format = "{icon} {}";
- format-icons = {
- notification = "";
- none = "";
- dnd-notification = "";
- dnd-none = "";
- inhibited-notification = "";
- inhibited-none = "";
- dnd-inhibited-notification = "";
- dnd-inhibited-none = "";
- };
- return-type = "json";
- exec-if = "which ${getExe' config.services.swaync.package "swaync-client"}";
- exec = "${getExe' config.services.swaync.package "swaync-client"} -swb";
- on-click = "${getExe' pkgs.coreutils "sleep"} 0.1 && ${getExe' config.services.swaync.package "swaync-client"} -t -sw";
- on-click-right = "${getExe' pkgs.coreutils "sleep"} 0.1 && ${getExe' config.services.swaync.package "swaync-client"} -d -sw";
- escape = true;
- };
-
- "custom/power" = {
- format = "";
- tooltip = false;
- menu = "on-click";
- menu-file =
- pkgs.writeText "powermenu.xml" # xml
- ''
-
-
-
-
- '';
- menu-actions =
- let
- systemctl = getExe' pkgs.systemd "systemctl";
- hyprlock = getExe config.programs.hyprlock.package;
- poweroff = getExe' pkgs.systemd "poweroff";
- reboot = getExe' pkgs.systemd "reboot";
- terminal = getExe config.programs.foot.package;
- top = getExe config.programs.btop.package;
- hyprctl = getExe' config.wayland.windowManager.hyprland.package "hyprctl";
- swaymsg = getExe' config.wayland.windowManager.sway.package "swaymsg";
- in
- {
- inherit poweroff reboot;
-
- hibernate = "${systemctl} hibernate";
- lock = ''([[ "$XDG_CURRENT_DESKTOP" == "Hyprland" ]] && ${hyprlock} --immediate)'';
- suspend = "${systemctl} suspend";
- top = "${terminal} ${top}";
- logout = "$(${hyprctl} dispatch exit || ${swaymsg} exit) && ${systemctl} --user exit ";
- };
- };
-
- "custom/separator-right" = {
- format = "";
- tooltip = false;
- };
-
- "custom/separator-left" = {
- format = "";
- tooltip = false;
- };
-
- "custom/weather" = {
- exec = "${getExe pkgs.wttrbar} --location $(${getExe pkgs.jq} -r '.wttr | (.location)' ~/weather_config.json) --main-indicator temp_C";
- return-type = "json";
- format = "{}";
- tooltip = true;
- interval = 3600;
- };
-
- "custom/wlogout" = {
- format = "";
- interval = "once";
- tooltip = false;
- on-click = "${getExe' pkgs.coreutils "sleep"} 0.1 && ${getExe pkgs.wlogout} -c 5 -r 5 -p layer-shell";
- };
-}
diff --git a/modules/home/opt/services/waybar/modules/default-modules.nix b/modules/home/opt/services/waybar/modules/default-modules.nix
deleted file mode 100644
index bd7f5c71..00000000
--- a/modules/home/opt/services/waybar/modules/default-modules.nix
+++ /dev/null
@@ -1,267 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-let
- inherit (lib) getExe getExe';
-in
-{
- backlight =
- let
- brightnessctl = lib.getExe pkgs.brightnessctl;
- in
- {
- format = "{icon}";
- format-icons = [
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ];
- on-scroll-up = "${brightnessctl} s 1%-";
- on-scroll-down = "${brightnessctl} s +1%";
- };
-
- battery = {
- states = {
- warning = 30;
- critical = 15;
- };
- format = "{icon}";
- format-charging = "";
- format-plugged = "";
- format-alt = "{icon}";
- format-icons = [
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ];
- };
-
- bluetooth = {
- format = "";
- format-disabled = "";
- format-connected = "";
- tooltip-format = "{controller_alias}\t{controller_address}";
- tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{device_enumerate}";
- tooltip-format-disabled = "";
- tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
- on-click = "blueman-manager";
- };
-
- cava = {
- framerate = 120;
- autosens = 1;
- bars = 12;
- method = "pipewire";
- source = "auto";
- bar_delimiter = 0;
- input_delay = 2;
- sleep_timer = 2;
- hide_on_silence = true;
- format-icons = [
- "▁"
- "▂"
- "▃"
- "▄"
- "▅"
- "▆"
- "▇"
- "█"
- ];
- };
-
- clock = with config.lib.stylix.colors; {
- tooltip-format = "{:%Y %B}\n{calendar}";
- format = " {:%a %d %b \n %I:%M %p}";
- calendar = {
- mode = "year";
- mode-mon-col = 3;
- weeks-pos = "right";
- on-scroll = 1;
- format = {
- months = "{}";
- days = "{}";
- weeks = "W{}";
- weekdays = "{}";
- today = "{}";
- };
- };
- actions = {
- on-click-right = "mode";
- on-click-forward = "tz_up";
- on-click-backward = "tz_down";
- on-scroll-up = "shift_up";
- on-scroll-down = "shift_down";
- };
- };
-
- cpu = {
- format = " {usage}%";
- tooltip = true;
- states = {
- "50" = 50;
- "60" = 75;
- "70" = 90;
- };
- };
-
- disk = {
- format = " {percentage_used}%";
- };
-
- idle_inhibitor = {
- format = "{icon} ";
- format-icons = {
- activated = "";
- deactivated = "";
- };
- };
-
- keyboard-state = {
- numlock = true;
- capslock = true;
- format = "{icon} {name}";
- format-icons = {
- locked = "";
- unlocked = "";
- };
- };
-
- memory = {
- format = " {}%";
- };
-
- mpris = {
- format = "{player_icon} {status_icon} {dynamic}";
- format-paused = "{player_icon} {status_icon} {dynamic}";
- max-length = 45;
- player-icons = {
- chromium = "";
- default = "";
- firefox = "";
- mopidy = "";
- mpv = "";
- spotify = "";
- };
- status-icons = {
- paused = "";
- playing = "";
- stopped = "";
- };
- };
-
- mpd = {
- format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ";
- format-disconnected = "Disconnected ";
- format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
- unknown-tag = "N/A";
- interval = 2;
- consume-icons = {
- on = " ";
- };
- random-icons = {
- off = " ";
- on = " ";
- };
- repeat-icons = {
- on = " ";
- };
- single-icons = {
- on = "1 ";
- };
- state-icons = {
- paused = "";
- playing = "";
- };
- tooltip-format = "MPD (connected)";
- tooltip-format-disconnected = "MPD (disconnected)";
- };
-
- network =
- let
- nm-editor = "${getExe' pkgs.networkmanagerapplet "nm-connection-editor"}";
- in
- {
- interval = 1;
- format-wifi = " {bandwidthUpBytes} {bandwidthDownBytes}";
- format-ethernet = " {bandwidthUpBytes} {bandwidthDownBytes}";
- tooltip-format = " {ifname} via {gwaddr}";
- format-linked = " {ifname} (No IP)";
- format-disconnected = " Disconnected";
- format-alt = "{ifname}: {ipaddr}/{cidr}";
- on-click-right = "${nm-editor}";
- };
-
- pulseaudio = {
- format = "{volume}% {icon}";
- format-bluetooth = "{volume}% {icon}";
- format-muted = "";
- format-icons = {
- headphone = "";
- hands-free = "";
- headset = "";
- phone = "";
- portable = "";
- car = "";
- default = [
- ""
- ""
- ];
- };
- scroll-step = 1;
- on-click = "pavucontrol";
- ignored-sinks = [ "Easy Effects Sink" ];
- };
-
- "pulseaudio/slider" = {
- min = 0;
- max = 100;
- orientation = "horizontal";
- };
-
- systemd-failed-units = {
- hide-on-ok = false;
- format = "✗ {nr_failed}";
- format-ok = "✓";
- system = true;
- user = false;
- };
-
- tray = {
- spacing = 10;
- };
-
- user = {
- format = "{user}";
- interval = 60;
- height = 30;
- width = 30;
- icon = true;
- };
-
- wireplumber = {
- format = "{volume}% {icon}";
- format-muted = "";
- on-click = "${getExe' pkgs.coreutils "sleep"} 0.1 && ${getExe pkgs.helvum}";
- format-icons = [
- ""
- ""
- ""
- ];
- };
-}
diff --git a/modules/home/opt/services/waybar/modules/group-modules.nix b/modules/home/opt/services/waybar/modules/group-modules.nix
deleted file mode 100644
index eb8a5c5a..00000000
--- a/modules/home/opt/services/waybar/modules/group-modules.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "group/audio" = {
- orientation = "horizontal";
- drawer = {
- transition-duration = 500;
- transition-left-to-right = false;
- };
- modules = [
- "pulseaudio"
- "pulseaudio/slider"
- ];
- };
-
- "group/power" = {
- orientation = "horizontal";
- drawer = {
- transition-duration = 500;
- children-class = "not-power";
- transition-left-to-right = false;
- };
- modules = [
- "custom/wlogout"
- # "custom/power"
- # "custom/quit"
- # "custom/lock"
- # "custom/reboot"
- ];
- };
-
- "group/control-center" = {
- orientation = "horizontal";
- modules = [
- "gamemode"
- "idle_inhibitor"
- "systemd-failed-units"
- "custom/notification"
- "custom/github"
- "bluetooth"
- "group/audio"
- ];
- };
-
- "group/tray" = {
- orientation = "horizontal";
- modules = [ "tray" ];
- };
-
- "group/stats" = {
- orientation = "horizontal";
- modules = [
- "network"
- "cpu"
- "memory"
- "disk"
- ];
- };
-
- "group/stats-drawer" = {
- orientation = "horizontal";
- drawer = {
- transition-duration = 500;
- transition-left-to-right = false;
- };
- modules = [
- "custom/separator-right"
- "network"
- "cpu"
- "memory"
- "disk"
- ];
- };
-
- "group/tray-drawer" = {
- orientation = "horizontal";
- drawer = {
- transition-duration = 500;
- transition-left-to-right = false;
- };
- modules = [
- "custom/separator-right"
- "tray"
- ];
- };
-}
diff --git a/modules/home/opt/services/waybar/modules/hyprland-modules.nix b/modules/home/opt/services/waybar/modules/hyprland-modules.nix
deleted file mode 100644
index ce614d4d..00000000
--- a/modules/home/opt/services/waybar/modules/hyprland-modules.nix
+++ /dev/null
@@ -1,122 +0,0 @@
-{ config, lib, ... }:
-let
- inherit (lib) getExe';
-in
-{
- "custom/quit" = {
- format = "";
- tooltip = false;
- on-click = "${getExe' config.wayland.windowManager.hyprland.package "hyprctl"} dispatch exit";
- };
-
- "hyprland/submap" = {
- format = "✌️ {}";
- max-length = 8;
- tooltip = false;
- };
-
- "hyprland/window" = {
- format = "{}";
- separate-outputs = true;
- };
-
- "hyprland/workspaces" = {
- all-outputs = false;
- active-only = "false";
- on-scroll-up = "${getExe' config.wayland.windowManager.hyprland.package "hyprctl"} dispatch workspace e+1";
- on-scroll-down = "${getExe' config.wayland.windowManager.hyprland.package "hyprctl"} dispatch workspace e-1";
- format = "{icon} {windows}";
- format-icons = {
- "1" = "";
- "2" = "";
- "3" = "";
- "4" = "";
- "5" = "";
- "6" = "";
- "7" = "";
- "8" = "";
- "9" = "";
- "10" = "";
- "urgent" = "";
- "default" = "";
- "empty" = "";
- };
- # "format-window-separator" = "->";
- window-rewrite-default = "";
- window-rewrite = {
- "class<.blueman-manager-wrapped>" = "";
- "class<.devede_ng.py-wrapped>" = "";
- "class<.pitivi-wrapped>" = "";
- "class<.xemu-wrapped>" = "";
- "class<1Password>" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class title<.*github.*>" = "";
- "class title<.*twitch|youtube|plex|tntdrama|bally sports.*>" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class" = "";
- "class title<.*WL-1.*>" = "";
- "class" = "";
- "code-url-handler" = "";
- "title" = "";
- "title" = "";
- "title" = "";
- };
- };
-}
diff --git a/modules/home/opt/services/waybar/styles/control-center.css b/modules/home/opt/services/waybar/styles/control-center.css
deleted file mode 100644
index 6ebb3b44..00000000
--- a/modules/home/opt/services/waybar/styles/control-center.css
+++ /dev/null
@@ -1,90 +0,0 @@
-#control-center {
- margin: 0.5em;
- padding-left: 5px;
- padding-right: 5px;
- color: @peach;
- font-weight: bold;
- background-color: @surface0;
- border: 2px solid @surface1;
-}
-
-#custom-notification,
-#custom-updates,
-#custom-github,
-#idle_inhibitor,
-#wireplumber,
-#pulseaudio,
-#audio,
-#bluetooth,
-#gamemode,
-#systemd-failed-units
- {
- padding: 0 0.5em;
-}
-
-#custom-updates.updated {
- padding-left: 0;
- padding-right: 1em;
-}
-
-/* Unique colors for modules */
-#idle_inhibitor {
- color: @yellow;
-}
-
-#pulseaudio{
- color: @green;
-}
-
-#custom-github {
- color: @blue;
-}
-
-#custom-updates {
- color: @red;
-}
-
-#systemd-failed-units {
- color: @mauve;
-}
-
-#custom-pipewire.muted,
-#pulseaudio.muted {
- background-color: #90b1b1;
- color: #2a5c45;
-}
-
-#keyboard-state {
- padding: 0 0px;
- min-width: 16px;
- color: @mauve;
-}
-
-#keyboard-state > label {
- padding: 0 5px;
-}
-
-#keyboard-state > label.locked {
- background: rgba(0, 0, 0, 0.2);
-}
-
-#pulseaudio-slider slider {
- min-height: 0px;
- min-width: 0px;
- opacity: 0;
- background-color: @green;
- background-image: none;
- border: none;
- box-shadow: none;
-}
-#pulseaudio-slider trough {
- min-height: 10px;
- min-width: 80px;
- border-radius: 5px;
- background-color: @base;
-}
-#pulseaudio-slider highlight {
- min-width: 10px;
- border-radius: 5px;
- background-color: @green;
-}
diff --git a/modules/home/opt/services/waybar/styles/power.css b/modules/home/opt/services/waybar/styles/power.css
deleted file mode 100644
index 5bc02e72..00000000
--- a/modules/home/opt/services/waybar/styles/power.css
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Custom styling for the logout icon on end */
-#custom-wlogout, #custom-power {
- font-size: 1.75em;
- padding-right: 0.5em;
- padding-left: 0.5em;
- color: @blue;
-}
-
-#power .not-power {
- color: @red;
- }
diff --git a/modules/home/opt/services/waybar/styles/stats.css b/modules/home/opt/services/waybar/styles/stats.css
deleted file mode 100644
index ce542514..00000000
--- a/modules/home/opt/services/waybar/styles/stats.css
+++ /dev/null
@@ -1,34 +0,0 @@
-#stats,
-#stats-drawer {
- margin: 0.5em;
- padding-left: 5px;
- padding-right: 5px;
- color: @peach;
- font-weight: bold;
- background-color: @surface0;
- border: 2px solid @surface1;
-}
-#battery,
-#cpu,
-#memory,
-#disk,
-#network {
- padding: 0 0.5em;
-}
-
-/* Unique colors for modules */
-#cpu {
- color: @red;
-}
-
-#memory {
- color: @yellow;
-}
-
-#network {
- color: @blue;
-}
-
-#network.disconnected {
- background-color: #f53c3c;
-}
diff --git a/modules/home/opt/services/waybar/styles/style.css b/modules/home/opt/services/waybar/styles/style.css
deleted file mode 100644
index 8a77289a..00000000
--- a/modules/home/opt/services/waybar/styles/style.css
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
-* Global configuration for theme
-* */
-* {
- font-family: Iosevka NF;
- font-size: 16px;
- border-radius: 0.5em;
-}
-
-window#waybar {
- border: 2px solid @surface1;
- background: @theme_base_color;
- box-shadow: 1px 1px 10px 10px @mantle;
- color: @theme_text_color;
- transition-property: background-color;
- transition-duration: 0.5s;
-}
-
-window#waybar.hidden {
- opacity: 0.2;
-}
-
-tooltip {
- background: @base;
- border: 1px solid @blue;
-}
-
-tooltip label {
- color: white;
-}
-
-label:focus {
- background-color: #000000;
-}
-
-button {
- /* Use box-shadow instead of border so the text isn't offset */
- box-shadow: inset 0 -3px transparent;
- /* Avoid rounded borders under each button name */
- border: none;
- border-radius: 0;
-}
-
-/* Remove border from parent waybar */
-box {
- border: none;
-}
-
-/* Add spacing for right side modules */
-#user,
-#custom-weather,
-#keyboard-state,
-#mpd {
- padding: 0 1em;
-}
-
-/* tray needs less padding */
-#tray {
- padding: 0em;
-}
-
-#clock {
- font-size: 16px;
- font-weight: 900;
-}
-
-#custom-separator-right,
-#custom-separator-left {
- font-size: 20px;
- padding-left: 1em;
- padding-right: 1em;
- color: @text;
-}
-
-@keyframes blink {
- to {
- background-color: #ffffff;
- color: #000000;
- }
-}
diff --git a/modules/home/opt/services/waybar/styles/workspaces.css b/modules/home/opt/services/waybar/styles/workspaces.css
deleted file mode 100644
index 13bcd57b..00000000
--- a/modules/home/opt/services/waybar/styles/workspaces.css
+++ /dev/null
@@ -1,42 +0,0 @@
-#workspaces {
- margin: 0.5em;
- padding-left: 5px;
- padding-right: 5px;
- color: @peach;
- font-weight: bold;
- background-color: @surface0;
- border: 2px solid @surface1;
-}
-
-#workspaces label {
- font-family: Iosevka NF;
- font-size: 20px;
-}
-
-#workspaces button {
- padding: 0 0.5em;
- background-color: @surface0;
- color: @text;
- margin: 0.25em;
-}
-
-#workspaces button.empty {
- /* background-color: @surface2; */
- color: @overlay0;
-}
-
-#workspaces button.visible {
- /* background-color: @surface2; */
- color: @blue;
-}
-
-#workspaces button.active {
- /* background-color: @surface2; */
- color: @green;
-}
-
-#workspaces button.urgent {
- box-shadow: 2px 2px 2px 2px;
- border-radius: 1em;
- color: @red;
-}