From f534aea3736959bbbfaf4079de31d07d732b399f Mon Sep 17 00:00:00 2001 From: Narrator Date: Thu, 11 Dec 2025 13:23:10 +0100 Subject: [PATCH] better i3bar --- flake.lock | 6 +++--- modules/home/fish.nix | 14 +++++++------- modules/home/i3blocks.nix | 31 ++++++++++++++++++++++++++----- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 55bb0e8..6c0b464 100644 --- a/flake.lock +++ b/flake.lock @@ -142,11 +142,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1765413189, - "narHash": "sha256-CEXdMdYV6ETQF/ol8z2odP55b0P/+2UjZczNeBAxBOA=", + "lastModified": 1765446923, + "narHash": "sha256-xbjviwTvd8Wr4MvmDkAvWvADnYXe62XiazBTDl+z/dA=", "owner": "nix-community", "repo": "nixvim", - "rev": "f61667b37eed4f17e19a38eb1d31f0b6be6e52a8", + "rev": "83df07bf49e7c90b369b3d294af2d2c850f546c7", "type": "github" }, "original": { diff --git a/modules/home/fish.nix b/modules/home/fish.nix index 5c146a7..a238e18 100644 --- a/modules/home/fish.nix +++ b/modules/home/fish.nix @@ -112,13 +112,13 @@ }; } { - name = "tmux.fish"; - src = pkgs.fetchFromGitHub { - owner = "budimanjojo"; - repo = "tmux.fish"; - rev = "db0030b7f4f78af4053dc5c032c7512406961ea5"; - hash = "sha256-rRibn+FN8VNTSC1HmV05DXEa6+3uOHNx03tprkcjjs8="; - }; + name = "tmux.fish"; + src = pkgs.fetchFromGitHub { + owner = "budimanjojo"; + repo = "tmux.fish"; + rev = "db0030b7f4f78af4053dc5c032c7512406961ea5"; + hash = "sha256-rRibn+FN8VNTSC1HmV05DXEa6+3uOHNx03tprkcjjs8="; + }; } ]; functions.fish_greeting.body = '' diff --git a/modules/home/i3blocks.nix b/modules/home/i3blocks.nix index 723edf9..d8fd0a1 100644 --- a/modules/home/i3blocks.nix +++ b/modules/home/i3blocks.nix @@ -31,18 +31,34 @@ }; cpu = { label = "CPU "; - command = "${pkgs.procps}/bin/uptime | awk -F'load average: ' '{print \$2}'"; + 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 = "PKG "; - command = "nix profile list | grep -c '^\\s*\\d'"; - interval = 300; + 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 "; @@ -70,10 +86,15 @@ interval = 300; }; tmpc = { - label = "TMP° "; + 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";