diff options
Diffstat (limited to 'modules/desktop/home/environments/hyprland/waybar')
5 files changed, 214 insertions, 0 deletions
diff --git a/modules/desktop/home/environments/hyprland/waybar/catppuccin.scss b/modules/desktop/home/environments/hyprland/waybar/catppuccin.scss new file mode 100644 index 0000000..0eb6a82 --- /dev/null +++ b/modules/desktop/home/environments/hyprland/waybar/catppuccin.scss @@ -0,0 +1,26 @@ +@define-color rosewater #f5e0dc; +@define-color flamingo #f2cdcd; +@define-color pink #f5c2e7; +@define-color mauve #cba6f7; +@define-color red #f38ba8; +@define-color maroon #eba0ac; +@define-color peach #fab387; +@define-color yellow #f9e2af; +@define-color green #a6e3a1; +@define-color teal #94e2d5; +@define-color sky #89dceb; +@define-color sapphire #74c7ec; +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color text #cdd6f4; +@define-color subtext1 #bac2de; +@define-color subtext0 #a6adc8; +@define-color overlay2 #9399b2; +@define-color overlay1 #7f849c; +@define-color overlay0 #6c7086; +@define-color surface2 #585b70; +@define-color surface1 #45475a; +@define-color surface0 #313244; +@define-color base #1e1e2e; +@define-color mantle #181825; +@define-color crust #11111b; diff --git a/modules/desktop/home/environments/hyprland/waybar/config.nix b/modules/desktop/home/environments/hyprland/waybar/config.nix new file mode 100644 index 0000000..7afa83c --- /dev/null +++ b/modules/desktop/home/environments/hyprland/waybar/config.nix @@ -0,0 +1,59 @@ +{pkgs, ...}: { + spacing = 4; + modules-left = ["custom/launcher" "hyprland/workspaces"]; + modules-center = ["hyprland/window"]; + modules-right = ["bluetooth" "wireplumber" "battery" "clock" "custom/power"]; + + "custom/launcher" = { + format = " "; + on-click = "${pkgs.fuzzel}/bin/fuzzel"; + }; + "hyprland/workspaces" = { + disable-scroll = true; + all-outputs = true; + warp-on-scroll = false; + format = "{icon}"; + format-icons = { + "1" = ""; + "2" = ""; + "3" = ""; + "4" = ""; + "5" = ""; + }; + }; + "hyprland/window" = { + on-click = "hyprctl dispatch float"; + }; + "bluetooth" = { + format = ""; + format-connected = " {device_alias}"; + }; + "battery" = { + format = "{icon} {capacity}%"; + format-alt = "{icon}"; + format-icons = [" " " " " " " " " "]; + }; + "wireplumber" = { + format = "{icon} {volume}%"; + format-alt = "{icon}"; + format-muted = " {volume}%"; + format-icons.default = ["" "" ""]; + tooltip = false; + }; + "clock" = { + format = "{:%I:%M}"; + format-alt = "/{:%Y/%b/%d-%a}"; + tooltip = false; + }; + "custom/power" = { + format = " collin"; + tooltip = false; + menu = "on-click"; + menu-file = "${./power_menu.xml}"; + menu-actions = { + logout = "hyprctl dispatch exit"; + reboot = "reboot"; + shutdown = "poweroff"; + }; + }; +} diff --git a/modules/desktop/home/environments/hyprland/waybar/default.nix b/modules/desktop/home/environments/hyprland/waybar/default.nix new file mode 100644 index 0000000..3b73a78 --- /dev/null +++ b/modules/desktop/home/environments/hyprland/waybar/default.nix @@ -0,0 +1,20 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.collinux.desktop.hyprland.components.waybar; +in + lib.mkIf cfg.enable { + programs.waybar = { + enable = true; + systemd.enable = true; + settings."mainBar" = import ./config.nix {inherit pkgs;}; + style = lib.mkIf (cfg.theme == "catppuccin") '' + @import "${./catppuccin.scss}"; + + ${builtins.readFile ./style.scss} + ''; + }; + } diff --git a/modules/desktop/home/environments/hyprland/waybar/power_menu.xml b/modules/desktop/home/environments/hyprland/waybar/power_menu.xml new file mode 100644 index 0000000..2935c89 --- /dev/null +++ b/modules/desktop/home/environments/hyprland/waybar/power_menu.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <object class="GtkMenu" id="menu"> + <child> + <object class="GtkMenuItem" id="logout"> + <property name="label">Log Out</property> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="delimiter1"/> + </child> + <child> + <object class="GtkMenuItem" id="reboot"> + <property name="label">Reboot</property> + </object> + </child> + <child> + <object class="GtkMenuItem" id="shutdown"> + <property name="label">Shutdown</property> + </object> + </child> + </object> +</interface> diff --git a/modules/desktop/home/environments/hyprland/waybar/style.scss b/modules/desktop/home/environments/hyprland/waybar/style.scss new file mode 100644 index 0000000..7674164 --- /dev/null +++ b/modules/desktop/home/environments/hyprland/waybar/style.scss @@ -0,0 +1,86 @@ +* { + font-family: Iosevka Nerd Font; + font-size: 10pt; + min-height: 0; +} + +#waybar { + background: @base; + color: @text; +} + +#workspaces, +#clock, +#battery, +#wireplumber, +#bluetooth.connected, +#custom-power { + color: @text; + background: @surface0; + + padding: 0.5rem 1rem; + border-radius: 1rem; + + margin: 5px 0; +} + +#workspaces button { + color: @lavender; + border-radius: 1rem; + padding: 0rem 0.75rem; +} + +#workspaces button.active { + color: @sky; +} + +#workspaces button:hover { + box-shadow: inherit; + text-shadow: inherit; + background: none; + border: none; + border-color: transparent; + padding: 0 0.75rem; + margin: 0; +} + +#window { + font-size: 12pt; +} + +#custom-launcher { + color: @blue; + font-size: 12pt; + padding: 0; + margin: 0; + + margin-left: 1rem; + margin-right: 1rem; +} + +#bluetooth.connected { + color: @blue; +} + +#wireplumber { + color: @maroon; + border-radius: 1rem 0 0 1rem; + margin-left: 1rem; +} + +#battery { + color: @green; + border-radius: 0; +} + +#clock { + color: @blue; + border-radius: 0 1rem 1rem 0; + margin-right: 1rem; +} + +#custom-power { + color: @rosewater; + margin-right: 1rem; + /* border: @rosewater 1px solid; */ +}
\ No newline at end of file |
