2024-08-02 16:49:54 +00:00
|
|
|
{ pkgs, lib, ... }:
|
2024-07-29 00:00:59 +00:00
|
|
|
{
|
|
|
|
services.polybar = {
|
|
|
|
enable = true;
|
|
|
|
script = ""; # required but we start polybar via bspwm, so dont start it here.
|
2024-08-02 16:49:54 +00:00
|
|
|
config =
|
|
|
|
let
|
|
|
|
theme = import ../theme.nix "light";
|
|
|
|
colors = theme.colors;
|
2024-08-24 15:11:21 +00:00
|
|
|
primaryMonitor = "eDP-1"; # = "DP-2" for thelio
|
2024-08-02 16:49:54 +00:00
|
|
|
in
|
|
|
|
rec {
|
|
|
|
common-bar = {
|
|
|
|
width = "100%";
|
|
|
|
height = "${theme.sizing.str.xxl}pt";
|
|
|
|
radius = 0;
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-04 17:11:11 +00:00
|
|
|
# override-redirect = true;
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
#;dpi = 96
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
background-0 = "#efefef";
|
|
|
|
background-1 = colors.background;
|
|
|
|
background-2 = colors.background;
|
|
|
|
background-3 = colors.background;
|
|
|
|
background-4 = colors.background;
|
|
|
|
background-5 = "#2e2e2e";
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
foreground = colors.foreground;
|
|
|
|
line-size = "3pt";
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
border-size = "${theme.sizing.str.xs}pt";
|
|
|
|
border-color = colors.primary;
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
padding-left = 0;
|
|
|
|
padding-right = 1;
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
module-margin = 1;
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
separator = "|";
|
|
|
|
separator-foreground = colors.disabled;
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
font-0 = "Charcoal;2";
|
|
|
|
# wm-restack = "bspwm";
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
cursor-click = "pointer";
|
|
|
|
cursor-scroll = "ns-resize";
|
2024-07-29 00:00:59 +00:00
|
|
|
|
2024-08-02 16:49:54 +00:00
|
|
|
enable-ipc = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
"global/wm" = {
|
|
|
|
margin-bottom = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
"bar/primary" = lib.recursiveUpdate common-bar {
|
2024-08-24 15:11:21 +00:00
|
|
|
monitor = primaryMonitor;
|
2024-08-02 16:49:54 +00:00
|
|
|
modules-left = "xworkspaces xwindow";
|
2024-08-24 15:11:21 +00:00
|
|
|
modules-right = "filesystem memory cpu wlan systray date";
|
2024-08-02 16:49:54 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
"bar/secondary" = lib.recursiveUpdate common-bar {
|
|
|
|
monitor = "HDMI-1";
|
|
|
|
modules-left = "xworkspaces";
|
|
|
|
modules-center = "date";
|
|
|
|
|
|
|
|
modules-right = "systray";
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/xworkspaces" = {
|
|
|
|
type = "internal/xworkspaces";
|
|
|
|
|
|
|
|
group-by-monitor = true;
|
|
|
|
pin-workspaces = true;
|
|
|
|
|
|
|
|
label-active = "%name%";
|
|
|
|
label-active-background = colors.background-alt;
|
|
|
|
label-active-underline = colors.primary;
|
|
|
|
label-active-padding = 1;
|
|
|
|
|
|
|
|
label-occupied = "%name%";
|
|
|
|
label-occupied-padding = 1;
|
|
|
|
|
|
|
|
label-urgent = "%name%";
|
|
|
|
label-urgent-background = colors.alert;
|
|
|
|
label-urgent-padding = 1;
|
|
|
|
|
|
|
|
label-empty = "%name%";
|
|
|
|
label-empty-foreground = colors.disabled;
|
|
|
|
label-empty-padding = 1;
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/systray" = {
|
|
|
|
type = "internal/tray";
|
|
|
|
format-margin = "8pt";
|
|
|
|
tray-spacing = "16pt";
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/xwindow" = {
|
|
|
|
type = "internal/xwindow";
|
|
|
|
label = "%title:0:60:...%";
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/filesystem" = {
|
|
|
|
type = "internal/fs";
|
|
|
|
interval = 25;
|
|
|
|
|
|
|
|
mount-0 = "/";
|
|
|
|
|
|
|
|
label-mounted = "%{F${colors.primary}}%mountpoint%%{F-} %percentage_used%%";
|
|
|
|
|
|
|
|
label-unmounted = "%mountpoint% not mounted";
|
|
|
|
label-unmounted-foreground = colors.disabled;
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/pulseaudio" = {
|
|
|
|
type = "internal/pulseaudio";
|
|
|
|
format-volume-prefix = "VOL ";
|
|
|
|
format-volume-prefix-foreground = colors.primary;
|
|
|
|
format-volume = "<label-volume>";
|
|
|
|
|
|
|
|
label-volume = "%percentage%%";
|
|
|
|
|
|
|
|
label-muted = "muted";
|
|
|
|
label-muted-foreground = colors.disabled;
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/xkeyboard" = {
|
|
|
|
type = "internal/xkeyboard";
|
|
|
|
blacklist-0 = "num lock";
|
|
|
|
|
|
|
|
label-layout = "%layout%";
|
|
|
|
label-layout-foreground = colors.primary;
|
|
|
|
|
|
|
|
label-indicator-padding = 2;
|
|
|
|
label-indicator-margin = 1;
|
|
|
|
label-indicator-foreground = colors.background;
|
|
|
|
label-indicator-background = colors.secondary;
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/memory" = {
|
|
|
|
type = "internal/memory";
|
|
|
|
interval = 2;
|
|
|
|
format-prefix = "RAM ";
|
|
|
|
format-prefix-foreground = colors.primary;
|
|
|
|
label = "%percentage_used:2%%";
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/cpu" = {
|
|
|
|
type = "internal/cpu";
|
|
|
|
interval = 2;
|
|
|
|
format-prefix = "CPU ";
|
|
|
|
format-prefix-foreground = colors.primary;
|
|
|
|
label = "%percentage:2%%";
|
|
|
|
};
|
|
|
|
|
|
|
|
"network-base" = {
|
|
|
|
type = "internal/network";
|
|
|
|
interval = 5;
|
|
|
|
format-connected = "<label-connected>";
|
|
|
|
format-disconnected = "<label-disconnected>";
|
|
|
|
label-disconnected = "%{F${colors.primary}}%ifname%%{F${colors.disabled}} disconnected";
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/wlan" = {
|
|
|
|
"inherit" = "network-base";
|
|
|
|
interface-type = "wireless";
|
|
|
|
label-connected = "%{F${colors.primary}}%ifname%%{F-} %essid% %local_ip%";
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/eth" = {
|
|
|
|
"inherit" = "network-base";
|
|
|
|
interface-type = "wired";
|
|
|
|
label-connected = "%{F${colors.primary}}%ifname%%{F-} %local_ip%";
|
|
|
|
};
|
|
|
|
|
|
|
|
"module/date" = {
|
|
|
|
type = "internal/date";
|
|
|
|
interval = 1;
|
|
|
|
|
|
|
|
date = "%l:%M%P";
|
|
|
|
date-alt = "%Y-%m-%d %H:%M:%S";
|
|
|
|
|
|
|
|
label = "%date%";
|
|
|
|
label-foreground = colors.primary;
|
|
|
|
};
|
|
|
|
|
|
|
|
"settings" = {
|
|
|
|
screenchange-reload = true;
|
|
|
|
pseudo-transparency = false;
|
|
|
|
#; vim:ft=dosini
|
|
|
|
};
|
2024-07-29 00:00:59 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|