summaryrefslogtreecommitdiff
path: root/modules/home-manager/waybar.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home-manager/waybar.nix')
-rw-r--r--modules/home-manager/waybar.nix136
1 files changed, 136 insertions, 0 deletions
diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix
new file mode 100644
index 0000000..c35bc75
--- /dev/null
+++ b/modules/home-manager/waybar.nix
@@ -0,0 +1,136 @@
+{ config, ... }: {
+ programs.waybar = {
+ enable = true;
+ systemd.enable = true;
+ systemd.target = "hyprland-session.target";
+ settings = {
+ mainBar = {
+ layer = "top";
+ position = "top";
+ height = 40;
+ modules-left = [ "hyprland/workspaces" ];
+ modules-center = [ "clock" ];
+ modules-right = [ "idle_inhibitor" "pulseaudio" "bluetooth" "network" "backlight/slider" "battery" "cpu" "temperature" "memory" "keyboard_state" "tray" ];
+
+ "tray" = {
+ icon-size = 21;
+ spacing = 10;
+ };
+ "idle_inhibitor" = {
+ format = "{icon}";
+ format-icons = {
+ activated = "";
+ deactivated = "";
+ };
+ };
+ "pulseaudio" = {
+ # // "scroll-step": 1, // %, can be a float
+ format = "{volume}% {icon} {format_source}";
+ format-bluetooth = "{volume}% {icon} {format_source}";
+ format-bluetooth-muted = " {icon} {format_source}";
+ format-muted = " {format_source}";
+ format-source = "{volume}% ";
+ format-source-muted = "";
+ "format-icons" = {
+ headphone = "";
+ hands-free = "";
+ headset = "";
+ phone = "";
+ portable = "";
+ car = "";
+ default = [ "" "" "" ];
+ };
+ on-click = "pavucontrol";
+ };
+ "wireplumber" = {
+ on-click = "helvum";
+ max-volume = 150;
+ scroll-step = 0.2;
+
+ # format-bluetooth = "{volume}% {icon} {format_source}";
+ # format-bluetooth-muted = " {icon} {format_source}";
+ format-muted = " ";
+ format = "{volume}% {icon} ";
+ # format-source-muted = "";
+ format-icons = {
+ # headphone = "";
+ # hands-free = "";
+ # headset = "";
+ # phone = "";
+ # portable = "";
+ # car = "";
+ default = [ "" "" "" ];
+ };
+ # on-click = "pavucontrol"
+ };
+ "network" = {
+ format-wifi = "{essid} ({signalStrength}%) ";
+ format-ethernet = "{ipaddr}/{cidr} ";
+ tooltip-format = "{ifname} via {gwaddr} ";
+ format-linked = "{ifname} (No IP) ";
+ format-disconnected = "Disconnected ⚠";
+ format-alt = "{ifname}: {ipaddr}/{cidr}";
+ };
+ "backlight/slider" = {
+ min = 1;
+ max = 100;
+ orientation = "horizontal";
+ # device = "intel_backlight";
+ };
+ "clock" = {
+ format = "{:%H:%M}  ";
+ format-alt = "{:%A, %B %d, %Y (%R)}  ";
+ # timezone = config.time.timeZone;
+ timezone = "US/Mountain";
+ tooltip-format = "<tt><small>{calendar}</small></tt>";
+ "calendar" = {
+ mode = "year";
+ mode-mon-col = 3;
+ weeks-pos = "right";
+ on-scroll = 1;
+ on-right-click = "mode";
+ "format" = {
+ months = "<span color='#ffead3'><b>{}</b></span>";
+ days = "<span color='#ecc6d9'><b>{}</b></span>";
+ weeks = "<span color='#99ffdd'><b>W{}</b></span>";
+ weekdays = "<span color='#ffcc66'><b>{}</b></span>";
+ today = "<span color='#ff6699'><b><u>{}</u></b></span>";
+ };
+ };
+ };
+ "battery" = {
+ interval = 60;
+ states = {
+ "warning" = 30;
+ "critical" = 15;
+ };
+ format = "{capacity}% {icon}";
+ format-icons = [ "" "" "" "" "" ];
+ max-length = 25;
+ };
+ "cpu" = {
+ format = "{usage}% ";
+ tooltip = false;
+ };
+ "memory" = {
+ format = "{used:0.1f}G/{total:0.1f}G ";
+ };
+ "temperature" = {
+ format = "{temperatureC}°C ";
+ };
+ "keyboard-state" = {
+ numlock = true;
+ capslock = true;
+ "format" = {
+ numlock = "N {icon}";
+ # capslock = "C {icon}";
+ };
+ "format-icons" = {
+ locked = "";
+ unlocked = "";
+ };
+ };
+ };
+ };
+ };
+}