dotfiles/nix/configs/polybar/top.nix
2024-08-29 18:25:03 +02:00

178 lines
4.7 KiB
Nix

let
colors = {
fg = "#FFFFFF";
bg = "#191830";
border = "#F72585";
warn = "#f00";
altfg = "#F72585";
invisible = "#00400080";
currentWorkspace = "#FAD000";
seperatorColor = "#FAD000";
};
script = "~/.config/scripts";
in
{
home-manager.users.grape.services.polybar = {
config = {
"module/date" = {
type = "internal/date";
font-1 = "Jetbrains Mono Nerd font";
interval = 1;
format = "%{T2}%{F${colors.bg}}%{F-}%{T-}<label>%{T2}%{F${colors.bg}}%{F-}%{T-}";
time = "%I:%M:%S";
date = "%Y-%m-%d%";
label = "%time% %date%";
label-foreground = "${colors.fg}";
label-background = "${colors.fg}";
};
# TODO include labels right into format for each module instea dof having a different module
"module/fs-label-system" = {
type = "custom/text";
label = "SYS ";
label-foreground = "${colors.seperatorColor}";
};
"module/fs-label-data" = {
type = "custom/text";
label = "DAT ";
label-foreground = "${ colors. seperatorColor}";
};
"module/ewmh" = {
type = "internal/xworkspaces";
pin-workspaces = false;
label-active-foreground = "${colors.currentWorkspace}";
};
"module/cpu-temp" = {
type = "internal/temperature";
format = "%{F${colors.seperatorColor}}CPU %{F-}<label>";
format-warn = "%{F${colors.seperatorColor}}CPU %{F-}<label-warn>";
base-temperature = 20;
warn-temperature = 85;
label-warn-foreground = "${colors.warn}";
label-foreground = "${colors.fg}";
label-background = "${colors.bg}";
thermal-zone = 0;
zone-type = "x86_pkg_temp";
hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input";
};
"module/cpu-usage" = {
type = "internal/cpu";
interval = "1.5";
format = "<label>";
label-background = colors.bg;
label-foreground = colors.fg;
label = "CPU %percentage%%";
format-foreground = "${colors.fg}";
};
"module/gpu-temp" = {
type = "custom/script";
interval = "1.5";
exec = "nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits";
format = "%{T2}%{F#191830}%{F-}%{T-}%{B${colors.bg}}%{F${colors.seperatorColor}}GPU %{F-}%{B-}<label>";
label-foreground = colors.fg;
format-suffix = "°C ";
};
"module/gpu-usage" = {
type = "custom/script";
interval = "1.5";
exec = "nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits";
format = "<label> mb%{T2}%{F#191830}%{F-}%{T-}";
};
"module/memory" = {
type = "internal/memory";
interval = 1;
format = "%{F${colors.seperatorColor}}RAM%{F-} <label>";
label = "%used%";
label-warn = "%used%";
warn-percentage = 60;
label-warn-foreground = "${colors.warn}";
};
"fs-base" = {
type = "internal/fs";
label-unmounted = "?";
format-prefix-foreground = "${colors.fg}";
warn-precentage = "80%";
};
"module/fs-system" = {
"inherit" = "fs-base";
mount-0 = "/";
interval = 30;
label-mounted = "%free%(%total%)";
};
"module/fs-data" = {
"inherit" = "fs-base";
mount-0 = "/mnt/terra";
interval = 30;
label-mounted = "%free%(%total%)";
};
"module/battery" = {
type = "internal/battery";
full-at = 95;
low-at = 20;
battery = "BAT0";
adapter = "AC0";
poll-interval = 4;
};
"module/keyboard" = {
type = "internal/xkeyboard";
format = "<label-layout> <label-indicator>";
};
"global/wm" = {
override-redirect = false;
};
"bar/default" = {
font-0 = "Jetbrains Mono Nerd font:size=11;3";
font-1 = "Jetbrains Mono Nerd font:size=11;1";
bottom = false;
# dimensons
width = "100%";
height = 40;
radius = 15;
# Padding for modules
padding-left = 5;
padding-right = 5;
# setting colors
background = "${colors.bg}";
foreground = "${colors.fg}";
# border for bar
border-size = "10px";
# border-color = ${colors.border}
border-color = "${colors.invisible}";
# Displayed modules
modules-left = "date s keyboard s ewmh";
#modules-center = "cava";
modules-right = "battery-label battery s fs-label-data fs-data s fs-label-system fs-system s memory s gpu-label gpu-usage gpu-temp s cpu-temp cpu-usage";
};
};
};
}