107 lines
3.3 KiB
Nix
107 lines
3.3 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
programs.i3blocks = {
|
|
enable = true;
|
|
|
|
bars = {
|
|
default = {
|
|
dt = {
|
|
label = "DT ";
|
|
command = "${pkgs.coreutils}/bin/date '+%a%d/%m %H:%M'";
|
|
interval = 10;
|
|
};
|
|
bat = {
|
|
label = "BAT ";
|
|
command = "${pkgs.acpi}/bin/acpi -b | grep -o '[0-9]\\+%' | head -n1";
|
|
interval = 15;
|
|
};
|
|
vol = {
|
|
label = "VOL";
|
|
command = ''
|
|
${pkgs.pipewire}/bin/wpctl get-volume @DEFAULT_SINK@ | grep -o '[0-9]\+%' | head -n1
|
|
'';
|
|
interval = 5;
|
|
};
|
|
|
|
ram = {
|
|
label = "RAM ";
|
|
command = "${pkgs.procps}/bin/free -h | awk '/Mem:/ {print \$3 \"/\" \$2}'";
|
|
interval = 7;
|
|
};
|
|
cpu = {
|
|
label = "CPU ";
|
|
command = "${pkgs.procps}/bin/top -bn1 | grep 'Cpu(s)' | awk '{print \$2 \"% us\"}'";
|
|
interval = 5;
|
|
};
|
|
cput = {
|
|
label = "CPU° ";
|
|
command = "${pkgs.lm_sensors}/bin/sensors k10temp-* 2>/dev/null | awk '/Tctl:/ {print \$2}' || echo '?°C'";
|
|
interval = 10;
|
|
};
|
|
gpumem = {
|
|
label = "GPU ";
|
|
command = "nvidia-smi --query-gpu=memory.used,memory.total --format=csv,noheader,nounits | awk -F, '{printf \"%.0f/%.0fG\", \$1/1024, \$2/1024}' 2>/dev/null || echo '?G'";
|
|
interval = 10;
|
|
};
|
|
gput = {
|
|
label = "GPU° ";
|
|
command = "nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits 2>/dev/null || echo '?°C'";
|
|
interval = 10;
|
|
};
|
|
net = {
|
|
label = "NET ";
|
|
command = "${pkgs.iproute2}/bin/ip -4 addr show scope global | grep inet | awk '{print \$2}' | cut -d/ -f1 | head -n1";
|
|
interval = 20;
|
|
};
|
|
pkg = {
|
|
label = "UPD ";
|
|
command = "cd /home/narrator/nix-flake && nixos-rebuild dry-run 2>&1 | grep -qE '(would be built|downloaded)' && echo '!UP2DATE' || echo 'UP2DATE'";
|
|
|
|
interval = 3600;
|
|
};
|
|
tmp = {
|
|
label = "TMP ";
|
|
command = "${pkgs.coreutils}/bin/df -h /tmp | awk 'NR==2{print \$3\"/\"$2}'";
|
|
interval = 60;
|
|
};
|
|
nix = {
|
|
label = "NIX ";
|
|
command = "${pkgs.coreutils}/bin/du -sh /nix/store | cut -f1";
|
|
interval = 600;
|
|
};
|
|
gen = {
|
|
label = "GEN ";
|
|
command = "nixos-rebuild list-generations | grep -oE '[0-9]+' | head -n1";
|
|
interval = 900;
|
|
};
|
|
fail = {
|
|
label = "FAIL ";
|
|
command = "${pkgs.systemd}/bin/systemctl --failed --no-pager --no-legend | head -n1 | awk '{print \$1}'";
|
|
interval = 60;
|
|
};
|
|
sh = {
|
|
label = "SH ";
|
|
command = "getent passwd \$USER | cut -d: -f7";
|
|
interval = 300;
|
|
};
|
|
tmpc = {
|
|
label = "SOC° ";
|
|
command = "cat /sys/class/thermal/thermal_zone0/temp | awk '{printf \"%.1f°C\", \$1/1000}'";
|
|
interval = 15;
|
|
};
|
|
pp = {
|
|
label = "PWR ";
|
|
command = "${pkgs.power-profiles-daemon}/bin/powerprofilesctl get";
|
|
interval = 30;
|
|
};
|
|
hn = {
|
|
label = "HN ";
|
|
command = "${pkgs.coreutils}/bin/hostname -s";
|
|
interval = 1000;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|
|
|