{ lib, pkgs, config, ... }@attrs: let utils = import ./colors.nix attrs; colorscheme = utils.colorscheme "purple" ../../../external/6.png; in { home-manager.users.agatha = { services.polybar = { enable = true; package = pkgs.polybarFull; script = "polybar right &"; settings = let color = n: colorscheme.colors."${builtins.toString n}"; in { "colors" = { background = color 0; foreground = color 7; foreground-alt = color 7; primary = color 1; secondary = color 2; alert = color 3; red = color 4; }; "bar/right" = { monitor = "\${env:MONITOR:eDP-1}"; width = "100%:-30"; height = 30; offset-x = 15; offset-y = 12; radius = 0; fixed-center = true; background = "\${colors.background}"; foreground = "\${colors.foreground}"; line = { size = 0; color = color 3; }; border = { size = 3; color = color 1; }; padding = { left = 2; right = 2; }; module.margin = { left = 1; right = 1; }; font = { "0" = "Iosevka Gothic:pixelsize=10;3"; "1" = "DejaVuSans:fontformat=truetype:size=8:antialias=false;2"; "2" = "Siji:pixelsize=11;2"; "3" = "Symbols Nerd Font:pixelsize=10;2"; "4" = "DejaVuSans:fontformat=truetype:size=8:antialias=false;1"; }; modules = { left = "bspwm"; center = "date"; right = "filesystem battery pulseaudio xkeyboard memory cpu notication-status powermenu"; }; wm-restack = "bspwm"; cursor-click = "pointer"; locale = "de_DE.UTF-8"; }; "module/xkeyboard" = { type = "internal/xkeyboard"; blacklist-0 = "num lock"; format-prefix = " "; format-prefix-foreground = "\${colors.foreground-alt}"; label = { layout = "%layout%"; indicator = { padding = 2; margin = 1; background = "\${colors.secondary}"; underline = "\${colors.secondary}"; }; }; }; "module/bspwm" = { type = "internal/bspwm"; label = { focused = "%name%"; focused-foreground = "\${colors.primary}"; focused-padding = 1; occupied = "%name%"; occupied-padding = 1; urgent = "%name%!"; urgent-background = "\${xrdb:color1:#222}"; urgent-padding = 1; empty = "%name%"; empty-foreground = "\${colors.foreground-alt}"; empty-padding = 1; }; }; "module/date" = { type = "internal/date"; interval = 5; date = ""; date-alt = " %a, %d %b %Y"; time = "%H:%M"; time-alt = "%H:%M:%S"; format-prefix = ""; format-prefix-foreground = "\${colors.foreground-alt}"; label = '' %{A3:dunstify ' Calendar' "$(cal --color=always | sed "s#\\x1b\\[7m##;s#\\x1b\\[27m##g")​":}%date%%{A} %time%''; }; "module/filesystem" = { type = "internal/fs"; interval = 25; mount-0 = "/"; label-mounted = "%mountpoint%: %percentage_used%%"; label-unmounted = "%mountpoint% not mounted"; label-unmounted-foreground = "\${colors.foreground-alt}"; }; "module/cpu" = { type = "internal/cpu"; interval = 2; format-prefix = " "; format-prefix-foreground = "\${colors.foreground-alt}"; label = "%{A1:kitty btop:}%percentage:2%%%{A}"; }; "module/memory" = { type = "internal/memory"; interval = 2; format-prefix = " "; format-prefix-foreground = "\${colors.foreground-alt}"; label = "%{A1:kitty btop:}%percentage_used%%%{A}"; }; "module/pulseaudio" = { type = "internal/pulseaudio"; format-volume = "%{A3:pavucontrol:} %{A}"; label-volume = " %percentage%%"; label-volume-foreground = "\${root.foreground}"; label-muted = " muted"; label-muted-foreground = "#666"; bar.volume = { width = 14; foreground-0 = "\${colors.secondary}"; foreground-1 = "\${colors.secondary}"; foreground-2 = "\${colors.primary}"; foreground-3 = "\${colors.primary}"; foreground-4 = "\${colors.primary}"; foreground-5 = "\${colors.alert}"; foreground-6 = "\${colors.red}"; gradient = false; indicator = "|"; indicator-font = 5; fill = "─"; fill-font = 2; empty = "─"; empty-font = 2; empty-foreground = "\${colors.foreground-alt}"; }; }; "module/powermenu" = { type = "custom/menu"; expand-right = true; format-spacing = 1; label = { open = ""; open-foreground = "\${colors.secondary}"; close = " cancel"; close-foreground = "\${colors.secondary}"; separator = "|"; separator-foreground = "\${colors.foreground-alt}"; }; menu = { "0-0" = "reboot"; "0-0-exec" = "reboot"; "0-1" = "power off"; "0-1-exec" = "sudo poweroff"; }; }; "module/battery" = { type = "internal/battery"; full-at = 99; low-at = 10; battery = "BAT0"; adapter = "AC"; poll-interval = 3; content-font = 3; format-charging = " "; format-discharging = " "; label = { charging = "%percentage_raw%%"; discharging = "%percentage_raw%%"; full = ""; }; ramp = { capacity-0 = ""; capacity-1 = ""; capacity-2 = ""; capacity-3 = ""; capacity-4 = ""; }; animation = { charging-0 = ""; charging-1 = ""; charging-2 = ""; charging-3 = ""; charging-4 = ""; charging-framerate = 750; }; }; "module/notification-status" = { type = "custom/script"; exec = '' if $(dunstctl is-paused); then; echo "Notifications paused"; else; echo ""; fi;''; interval = 2; format-prefix = " "; }; }; }; }; }