{ config, lib, pkgs, ... }: { home.packages = with pkgs; [ networkmanagerapplet bluez ]; stylix.targets.waybar.enable = false; xdg.configFile."waybar/scheme.css".text = with config.lib.stylix.colors.withHashtag; '' @define-color base00 ${base00}; @define-color base01 ${base01}; @define-color base02 ${base02}; @define-color base03 ${base03}; @define-color base04 ${base04}; @define-color base05 ${base05}; @define-color base06 ${base06}; @define-color base07 ${base07}; @define-color base08 ${base08}; @define-color base09 ${base09}; @define-color base0A ${base0A}; @define-color base0B ${base0B}; @define-color base0C ${base0C}; @define-color base0D ${base0D}; @define-color base0E ${base0E}; @define-color base0F ${base0F}; * { font-family: "${config.stylix.fonts.sansSerif.name}" } ''; programs.waybar = { enable = true; style = ./style.css; systemd = { enable = true; target = "hyprland-session.target"; }; settings.main = { layer = "top"; position = "top"; # Layout "modules-left" = [ "custom/launcher" "hyprland/workspaces" ]; "modules-center" = [ "mpris" ]; "modules-right" = [ "pulseaudio" "battery" "disk" "cpu" "memory" "temperature" "clock" "tray" ]; # Module config "custom/launcher" = { format = " 󰛡 "; tooltip = false; on-click = "rofi -show combi"; on-click-right = "rofi -show power-menu"; }; "hyprland/workspaces" = { format = "{icon}"; format-icons = { # "1" = "󰛡"; # [a]ny (or def[a]ult) "1" = "󰟀"; # [t]erminal "2" = "󰳼"; # [e]ditor "3" = "󰖟"; # [w]eb browser "4" = "󰝰"; # [f]iles "5" = "󰭹"; # [c]hat "6" = "󰊗"; # [g]aming "7" = "󰢹"; # [r]emote default = "󰛡"; special = "󰓎"; urgent = "󰣘"; }; show-special = true; }; "hyprland/window" = { format = "{title}"; separate-outputs = true; }; mpris = { "format" = "{player_icon} {title} [{position}/{length}] {status_icon}"; "interval" = 1; "player-icons" = { "default" = "󰲸"; "mpv" = "󰤽"; "kdeconnect" = "󱀟"; "ncspot" = "󰓇"; }; "status-icons" = { "playing" = "󰐊"; "paused" = "󰏤"; "stopped" = "󰓛"; }; "ignored-players" = [ "firefox" ]; }; pulseaudio = { scroll-step = 5; format = "{volume}% {icon} {format_source}"; format-muted = " 󰝟 {format_source}"; format-source = "󰍬"; format-source-muted = "󰍭"; format-icons = { car = "󰄍"; default = [ "󰕿" "󰖀" "󰕾" ]; hands-free = "󰥰"; headset = "󰋎"; phone = "󰏲"; portable = "󰏳"; headphone = "󰋋"; }; on-click = "pavucontrol"; on-click-middle = "volumectl -m %"; on-click-right = "volumectl %"; on-scroll-up = "volumectl -u + 5"; on-scroll-down = "volumectl -u - 5"; }; backlight = { format = "{icon}"; tooltip-format = "{percent}%"; format-icons = [ "" "" "" "" "" "" "" "" "" ]; }; battery = { states = { warning = 30; critical = 15; }; format = "{capacity}% {icon}"; format-charging = "󰂄"; format-plugged = "󰚥"; tooltip-format = "{time} {capacity}%"; format-icons = [ "󱃍" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; }; disk = { format = "{percentage_used}% 󰋊"; path = config.home.homeDirectory; }; cpu = { format = "{usage}% 󰻠"; tooltip = false; }; memory = { format = "{}% 󰍛"; }; temperature = { critical-threshold = 80; format = "{temperatureC}°C {icon}"; format-icons = [ "󱃃" "󰔏" "󱃂" ]; }; clock = { format = "{:%a %d %b %R}"; format-alt = "{:%A %F %T}"; tooltip-format = "{calendar}"; calendar = { mode = "month"; mode-mon-col = 3; weeks-pos = "left"; on-scroll = 1; on-click-right = "mode"; format = { months = "{}"; days = "{}"; weeks = "W{}"; weekdays = "{}"; today = "{}"; }; }; actions = { on-click-right = "mode"; on-scroll-up = "shift_up"; on-scroll-down = "shift_down"; }; }; tray = { icon-size = 16; show-passive-items = true; spacing = 5; }; }; }; }