diff --git a/modules/hm/hyprland.nix b/modules/hm/hyprland.nix
index e45983f..94b6d03 100644
--- a/modules/hm/hyprland.nix
+++ b/modules/hm/hyprland.nix
@@ -241,4 +241,195 @@
bind = , XF86MonBrightnessUp, exec, brillo -A 10
bind = , XF86MonBrightnessDown, exec, brillo -U 10
'';
+
+ xdg.configFile."waybar/config.jsonc".text = builtins.toJSON {
+ layer = "top"; # Waybar at top layer
+ # "position" = "bottom"; # Waybar position (top|bottom|left|right)
+ height = 22; # Waybar height (to be removed for auto height)
+ # "width" = 1280; # Waybar width
+ # "spacing" = 4; # Gaps between modules (4px)
+ # Choose the order of the modules
+ modules-left = [
+ "hyprland/workspaces"
+ "hyprland/window"
+ ];
+ # "modules-center" = ["sway/window"];
+ modules-right = [
+ # "hyprland/language"
+ "idle_inhibitor"
+ # "custom/media"
+ "pulseaudio"
+ "network"
+ "cpu"
+ "memory"
+ "temperature"
+ "keyboard-state"
+ "battery"
+ "battery#bat2"
+ "clock"
+ "tray"
+ ];
+ keyboard-state = {
+ "numlock" = true;
+ "capslock" = true;
+ "format" = "{name} {icon}";
+ "format-icons" = {
+ "locked" = "";
+ "unlocked" = "";
+ };
+ };
+ # "sway/mode"= {
+ # "format"= "{}"
+ # };
+ # "sway/scratchpad"= {
+ # "format"= "{icon} {count}";
+ # "show-empty"= false;
+ # "format-icons"= ["" ""];
+ # "tooltip"= true;
+ # "tooltip-format"= "{app}= {title}"
+ # };
+ # "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)"
+ # };
+ "idle_inhibitor" = {
+ "format" = "{icon}";
+ "format-icons" = {
+ "activated" = "";
+ "deactivated" = "";
+ };
+ };
+ "tray" = {
+ # "icon-size"= 21;
+ "spacing" = 10;
+ };
+ "clock" = {
+ # "timezone"= "America/New_York";
+ "tooltip-format" = "{=%Y %B}\n{calendar}";
+ "format-alt" = "{=%Y-%m-%d}";
+ };
+ "cpu" = {
+ "format" = "{usage}% ";
+ "tooltip" = false;
+ };
+ "memory" = {
+ "format" = "{}% ";
+ };
+ "temperature" = {
+ # "thermal-zone"= 2;
+ # "hwmon-path"= "/sys/class/hwmon/hwmon2/temp1_input";
+ "critical-threshold" = 90;
+ # "format-critical"= "{temperatureC}°C {icon}";
+ "format" = "{temperatureC}°C {icon}";
+ "format-icons" = [
+ # ""
+ ""
+ # ""
+ ];
+ };
+ "backlight" = {
+ # "device"= "acpi_video1";
+ "format" = "{percent}% {icon}";
+ "format-icons" = [
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ];
+ };
+ "battery" = {
+ "states" = {
+ # "good"= 95;
+ "warning" = 30;
+ "critical" = 15;
+ };
+ "format" = "{capacity}% {icon}";
+ "format-charging" = "{capacity}% ";
+ "format-plugged" = "{capacity}% ";
+ "format-alt" = "{time} {icon}";
+ # "format-good"= ""; # An empty format will hide the module
+ # "format-full"= "";
+ "format-icons" = [
+ ""
+ ""
+ ""
+ ""
+ ""
+ ];
+ };
+ "battery#bat2" = {
+ "bat" = "BAT2";
+ };
+ "network" = {
+ # "interface"= "wlp2*"; # (Optional) To force the use of this interface
+ "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}";
+ };
+ "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";
+ };
+ "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"; # Script in resources folder
+ # "exec" = "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" # Filter player based on name
+ };
+ };
}