{ colors, config, getExe, ifLaptop, pkgs, ... }: { enable = true; systemd = { enable = true; target = "graphical-session.target"; }; settings.bar-0 = { # layer = "top"; position = "bottom"; height = 24; spacing = 6; margin-left = 33 + 3; margin-right = 33 + 3; margin-bottom = 3; reload_style_on_change = true; modules-left = [ "niri/language" "niri/workspaces" "wlr/taskbar" ]; modules-center = ["clock"]; modules-right = [ "wireplumber" (ifLaptop "group/laptop") "privacy" "tray" "idle_inhibitor" "custom/notification" ]; "niri/workspaces" = { format = "{index}"; format-icons = { "1" = "൧"; "2" = "൨"; "3" = "൩"; "4" = "൪"; "5" = "൫"; "6" = "൬"; "7" = "൭"; "8" = "൮"; "9" = "൯"; "10" = "൰"; general = "󰘧"; web = "󰖟"; chat = "󰻞"; code = "󰅩"; uni = "󱆀"; games = "󰺶"; system = "󰢻"; media = "󱜐"; tray = "󱊖"; }; }; "niri/language" = { format = "{}"; format-en = "🇺🇸"; format-uk = "🇺🇦"; }; "custom/separator" = { format = "󰝠"; interval = "once"; tooltip = false; }; "group/laptop" = { orientation = "inherit"; modules = [ "backlight" "battery" "power-profiles-daemon" ]; }; "backlight" = { format = "{percent}% {icon}"; format-icons = [ "󰃚" "󰃛" "󰃜" "󰃝" "󰃞" "󰃟" "󰃠" ]; }; "idle_inhibitor" = { format = "{icon}"; format-icons = { activated = "󰅶"; deactivated = "󰾪"; }; }; "tray" = { icon-size = 20; spacing = 6; }; "clock" = { interval = 1; format = "{:%B %d - %H:%M - %A}"; tooltip = false; # tooltip-format = "{%y.%m.%d - %B %d, %A}"; }; battery = { states = { good = 95; warning = 30; critical = 15; }; format = "{capacity}% {icon}"; format-full = "{capacity}% 󱟢"; format-charging = "{capacity}% 󰂄"; format-plugged = "{capacity}% 󰚥"; format-alt = "{icon} {time}"; format-icons = ["󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; }; mpris = { format = "{player_icon} {dynamic}"; format-paused = "{status_icon} {dynamic}"; playing-len = 30; playing-paused = 30; player-icons = { default = "▶"; mpv = "🎵"; }; status-icons = {paused = "⏸";}; }; "upower" = { icon-size = 16; format = "{percentage}"; hide-if-empty = true; tooltip = true; tooltip-spacing = 20; }; "power-profiles-daemon" = { format = "{icon}"; tooltip-format = "Power profile: {profile}\nDriver: {driver}"; tooltip = true; format-icons = { default = "󱡮"; performance = "󱡮"; balanced = ""; power-saver = ""; }; }; "wireplumber" = { scroll-step = 3; format = "{volume}% {icon}"; format-muted = "󰖁"; format-icons = ["󰕿" "󰖀" "󰕾"]; on-click = getExe pkgs.pwvucontrol; on-click-right = "wpctl set-mute @DEFAULT_SINK@ toggle"; }; "custom/notification" = { tooltip = false; format = "{icon}"; format-icons = { notification = "󱅫"; none = "󰂚"; dnd-notification = "󰂛"; dnd-none = "󰂛"; }; return-type = "json"; exec-if = "which swaync-client"; exec = "swaync-client -swb"; on-click = "swaync-client -t -sw"; on-click-right = "swaync-client -d -sw"; escape = true; }; "privacy" = { icon-spacing = 2; icon-size = 16; transition-duration = 250; screenshare = { type = "screenshare"; tooltip = true; tooltip-icon-size = 24; }; audio-in = { type = "audio-in"; tooltip = true; tooltip-icon-size = 24; }; }; "wlr/taskbar" = { format = "{icon}"; icon-size = 18; icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}"; tooltip-format = "{title}"; on-click = "activate"; }; }; style = '' @define-color base00 #${colors.base00}; @define-color base01 #${colors.base01}; @define-color base02 #${colors.base02}; @define-color base03 #${colors.base03}; @define-color base04 #${colors.base04}; @define-color base05 #${colors.base05}; @define-color base06 #${colors.base06}; @define-color base07 #${colors.base07}; @define-color base08 #${colors.base08}; @define-color base09 #${colors.base09}; @define-color base0A #${colors.base0A}; @define-color base0B #${colors.base0B}; @define-color base0C #${colors.base0C}; @define-color base0D #${colors.base0D}; @define-color base0E #${colors.base0E}; @define-color base0F #${colors.base0F}; * { font-family: ${config.stylix.fonts.sansSerif.name}, FontAwesome; font-weight: 500; font-size: 18px; } window#waybar { background-color: transparent; } .modules-center { background-color: transparent; } .mpris.stopped { background-color: transparent; } .modules-left, .modules-center, .modules-right { /* border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-top-left-radius: 0px; border-top-right-radius: 0px; */ background-color: @base00; border-radius: 24px; border: 3px solid @base0D; color: @base05; padding: 0 3px; } tooltip { background: @base01; border: 1px solid @base0E; } tooltip label { color: @base05; } button { box-shadow: inset 0 -3px transparent; border-radius: 16px; } button:hover { background: inherit; box-shadow: inset 0 -3px transparent; } #mode { background-color: rgba(0, 0, 0, 0.2); box-shadow: inset 0 -3px @base05; } #backlight, #battery, #clock, #custom-notification, #custom-separator, #idle_inhibitor, #language, #power-profiles-daemon, #privacy-item, #taskbar button, #taskbar, #wireplumber, #workspaces button { padding: 0 6px; } #backlight, #custom-notification, #idle_inhibitor, #tray button, #tray { padding: 0 6px 0 0; margin: 0 6px 0 0; } #power-profiles-daemon { padding: 0 6px; margin: 0 6px; } #workspaces button.active { color: @base0D; } #taskbar button:hover { box-shadow: transparent; } #taskbar.empty, window#empty { background-color: transparent; } #battery.critical:not(.charging) { color: @base09; animation-name: blink; animation-duration: 0.5s; animation-timing-function: steps(12); animation-iteration-count: infinite; animation-direction: alternate; } #power-profiles-daemon.performance { color: @base0D; } #power-profiles-daemon.balanced { color: @base0B; } #power-profiles-daemon.power-saver { color: @base0A; } label:focus { background-color: #000000; } #tray > .passive { -gtk-icon-effect: dim; } #tray > .needs-attention { -gtk-icon-effect: highlight; background-color: @base08; } #privacy-item.screenshare { color: @base0C; } #privacy-item.audio-in { color: @base0E; } ''; }