From 2d488eaa7a1a8580d014ab6edb19c3f97340ac65 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 19 Aug 2025 23:51:52 +0100 Subject: [PATCH] Display network name and IP address --- modules/hosts/t480/dwm/dwmblocks/default.nix | 2 ++ modules/hosts/t480/dwm/dwmblocks/network.nix | 24 ++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 modules/hosts/t480/dwm/dwmblocks/network.nix diff --git a/modules/hosts/t480/dwm/dwmblocks/default.nix b/modules/hosts/t480/dwm/dwmblocks/default.nix index e33684a9..fa35982e 100644 --- a/modules/hosts/t480/dwm/dwmblocks/default.nix +++ b/modules/hosts/t480/dwm/dwmblocks/default.nix @@ -8,6 +8,8 @@ static const Block blocks[] = { {"", "status-audio", 10, 0}, + {"", "status-network", 10, 0}, + {"", "status-battery", 60, 0}, {"", "free -h | awk '/^Mem/ { printf \"%s/%s RAM\\n\", $3, $2 }' | sed 's/i//g'", 30, 0}, diff --git a/modules/hosts/t480/dwm/dwmblocks/network.nix b/modules/hosts/t480/dwm/dwmblocks/network.nix new file mode 100644 index 00000000..bbe262bf --- /dev/null +++ b/modules/hosts/t480/dwm/dwmblocks/network.nix @@ -0,0 +1,24 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "status-network"; + + runtimeInputs = with pkgs; [ networkmanager ]; + + text = '' + connected_to="$(nmcli | grep "connected to")" + + network_name="$(echo "$connected_to" | awk '{print $NF}')" + connected_device="$(echo "$connected_to" | cut -d ':' -f 1)" + + ip_address="$(ip a | grep "$connected_device" | grep inet | awk '{print $2}'| cut -d '/' -f 1)" + + echo "$network_name $ip_address" + ''; + }) + ]; + }; +}