{ config, pkgs, ... }: { home.packages = with pkgs; [ networkmanagerapplet bluez ]; systemd.user.targets.tray.Unit = { Description = "Home Manager System Tray"; Requires = [ "graphical-session-pre.target" ]; }; programs.waybar = { enable = true; style = ./style.css; systemd = { enable = true; target = "hyprland-session.target"; }; settings.main = { layer = "top"; position = "top"; # Layout "modules-left" = [ "hyprland/workspaces" "custom/separator" "hyprland/window" "custom/separator" "mpris" ]; "modules-center" = [ ]; "modules-right" = [ "pulseaudio" "disk" "cpu" "memory" "clock" "battery" "tray" ]; # Module config "custom/separator" = { format = "|"; }; "hyprland/workspaces" = { format = "{icon}"; format-icons = { "1" = "󰫃"; "2" = "󰫄"; "3" = "󰫅"; "4" = "󰫆"; "5" = "󰫇"; "6" = "󰫈"; "emacs" = ""; "web" = "󰈹"; "discord" = "󰙯"; "steam" = "󰓓"; "apps" = "󰜫"; "top" = "󰒋"; "remote" = "󰢹"; default = "󰋙"; special = "󰁡"; }; show-special = true; sort-by = "id"; }; "hyprland/window" = { rewrite = { "(.*) - GNU Emacs(.*)" = " $1"; "btop" = " System Status"; "ncspot" = "󰓇 Spotify TUI"; "Nyxt - (.*)" = "󰀹 $1"; "(.*) - Discord" = "󰙯 $1"; "(.*) - Chromium" = " $1"; "Microsoft Teams - (.*)" = "󰊻 $1"; "Microsoft Teams classic" = "󰊻"; "Microsoft 365 - (.*)" = "󰏆 $1"; "NoMachine - (.*)" = "󰢹 $1"; }; separate-outputs = true; }; mpris = { "format" = "{player_icon} {title}"; "tooltip-format" = "{player_icon} ({player}) {dynamic}"; "interval" = 1; "player-icons" = { "default" = "󰲸"; "mpv" = "󰤽"; "ncspot" = "󰓇"; }; "status-icons" = { "playing" = "󰐊"; "paused" = "󰏤"; "stopped" = "󰓛"; }; "ignored-players" = [ "firefox" "chromium" ]; }; pulseaudio = { scroll-step = 5; format = "{format_source}/{icon} {volume}%"; 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"; }; disk = { format = "󰋊 {percentage_used}%"; path = config.home.homeDirectory; }; cpu = { format = "󰻠 {usage}%"; tooltip = false; }; memory = { format = "󰍛 {}%"; }; temperature = { critical-threshold = 80; format = "{icon} {temperatureC}°C"; format-icons = [ "󱃃" "󰔏" "󱃂" ]; }; clock = { format = "{:󰃭 %Y-%m-%d 󰥔 %R}"; 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"; }; }; backlight = { format = "{icon}"; tooltip-format = "{percent}%"; format-icons = [ "" "" "" "" "" "" "" "" "" ]; }; battery = { states = { warning = 30; critical = 15; }; format = "{icon}"; format-charging = "󰂄"; format-plugged = "󰚥"; tooltip-format = "{time} {capacity}%"; format-icons = [ "󱃍" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; }; tray = { icon-size = 16; show-passive-items = true; spacing = 5; }; }; }; }