{ config, lib }: let cfg = config.jhome.gui; in { mainBar = { layer = "top"; position = "top"; margin = "2 2 2 2"; # Choose the order of the modules modules-left = [ "sway/workspaces" ]; modules-center = [ "clock" ]; modules-right = [ "pulseaudio" "backlight" "battery" "sway/language" "memory" ] ++ lib.optional (cfg.tempInfo != null) "temperature" ++ [ "tray" ]; "sway/workspaces" = { disable-scroll = true; persistent-workspaces = { "1" = [ ]; "2" = [ ]; "3" = [ ]; "4" = [ ]; "5" = [ ]; "6" = [ ]; "7" = [ ]; "8" = [ ]; "9" = [ ]; }; }; "sway/language" = { format = "{} "; min-length = 5; tooltip = false; }; memory = { format = "{used:0.1f}/{total:0.1f}GiB "; interval = 3; }; clock = { timezone = "Europe/Berlin"; tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"; format = "{:%a, %d %b, %H:%M}"; }; pulseaudio = { reverse-scrolling = 1; format = "{volume}% {icon} {format_source}"; format-bluetooth = "{volume}% {icon} {format_source}"; format-bluetooth-muted = "{volume}% {icon} {format_source}"; format-muted = "{volume}% {format_source}"; format-source = "{volume}% "; format-source-muted = "{volume}% "; format-icons = { headphone = ""; hands-free = ""; headset = ""; phone = ""; portable = ""; car = ""; default = [ "" "" "" ]; }; on-click = "pavucontrol"; min-length = 13; }; temperature = lib.optionalAttrs (cfg.tempInfo != null) { inherit (cfg.tempInfo) hwmon-path; critical-threshold = 80; format = "{temperatureC}°C {icon}"; format-icons = [ "" "" "" "" "" ]; tooltip = false; }; backlight = { device = "intel_backlight"; format = "{percent}% {icon}"; format-icons = [ "" "" "" "" "" "" "" ]; min-length = 7; }; battery = { states.warning = 30; states.critical = 15; format = "{capacity}% {icon}"; format-charging = "{capacity}% "; format-plugged = "{capacity}% "; format-alt = "{time} {icon}"; format-icons = [ "" "" "" "" "" "" "" "" "" "" ]; }; tray = { icon-size = 16; spacing = 0; }; }; }