From 6f77b9e19e271d6a083a6d73d27ad8ac2e1afd82 Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Mon, 16 Feb 2026 12:42:22 -0300 Subject: [PATCH] feat(desktop): new bar using eww bar --- home/guz-lite/default.nix | 2 + home/guz-lite/desktop/bar.nix | 149 ++++++++++++++++++++++++++++++ home/guz-lite/desktop/default.nix | 3 + 3 files changed, 154 insertions(+) create mode 100644 home/guz-lite/desktop/bar.nix create mode 100644 home/guz-lite/desktop/default.nix diff --git a/home/guz-lite/default.nix b/home/guz-lite/default.nix index 7205c38..acaa51a 100644 --- a/home/guz-lite/default.nix +++ b/home/guz-lite/default.nix @@ -5,6 +5,8 @@ imports = [ ../worm/default.nix + ./desktop + ./apps.nix ./style.nix ./desktop.nix diff --git a/home/guz-lite/desktop/bar.nix b/home/guz-lite/desktop/bar.nix new file mode 100644 index 0000000..29deafb --- /dev/null +++ b/home/guz-lite/desktop/bar.nix @@ -0,0 +1,149 @@ +{ + config, + lib, + pkgs, + ... +}: { + programs.eww.enable = true; + programs.eww.enableZshIntegration = true; + + programs.waybar.settings = let + layer = "top"; + position = "top"; + + height = 25; + spacing = 5; + + margin-top = 5; + margin-x = 10; + margin-right = margin-x; + margin-left = margin-x; + in { + main = let + monitor = config.wayland.windowManager.hyprland.settings."$MONITOR-1"; + in { + inherit + layer + position + height + spacing + margin-top + margin-right + margin-left + ; + + output = [monitor]; + + modules-left = [ + "hyprland/workspaces" + ]; + + "hyprland/workspaces" = { + active-only = false; + persistent-workspaces = { + "${monitor}" = [1 2 3 4 5]; + }; + format = "{icon}"; + format-icons = { + default = ""; + active = ""; + }; + }; + + modules-center = [ + "clock" + ]; + + modules-right = [ + "pulseaudio" + ]; + + "clock" = { + format = "{:%d 󰥔 %R}"; + format-alt = "{:%B %d, 12.0%y (%A)}"; + tooltip-format = "{calendar}"; + calendar = { + mode = "year"; + mode-mon-col = 3; + weeks-pos = "left"; + on-scroll = 1; + format = with config.lib.stylix.colors.withHashtag; { + months = "{}"; + days = "{}"; + weeks = "W{}"; + weeksdays = "{}"; + today = "{}"; + }; + }; + }; + + "pulseaudio" = { + format = "{icon} {volume}%"; + format-muted = ""; + format-icons = { + default = ["" ""]; + }; + onclick = "${lib.getExe pkgs.pwvucontrol}"; + }; + }; + secondary = let + monitor = config.wayland.windowManager.hyprland.settings."$MONITOR-2"; + in { + inherit + layer + position + height + spacing + margin-top + margin-right + margin-left + ; + + output = [monitor]; + + modules-left = [ + "cpu" + "memory" + "disk" + ]; + + "cpu" = { + format = " {usage}%"; + }; + + "memory" = { + format = " {percentage}%"; + }; + + "disk" = { + interval = 30; + format = "󰨣 {specific_free:0.2f}"; + unit = "GB"; + }; + + modules-center = [ + "hyprland/window" + ]; + + "hyprland/window" = { + format = "{title}"; + }; + + modules-right = [ + "hyprland/workspaces" + ]; + + "hyprland/workspaces" = { + active-only = false; + persistent-workspaces = { + "${monitor}" = [6 7 8 9 10]; + }; + format = "{icon}"; + format-icons = { + default = ""; + active = ""; + }; + }; + }; + }; +} diff --git a/home/guz-lite/desktop/default.nix b/home/guz-lite/desktop/default.nix new file mode 100644 index 0000000..8607cf7 --- /dev/null +++ b/home/guz-lite/desktop/default.nix @@ -0,0 +1,3 @@ +{...}: { + imports = [./bar.nix]; +}