{ pkgs }: pkgs.writeShellApplication { name = "icanhazip"; runtimeInputs = with pkgs; [ iproute2 curl gawk coreutils ]; text = '' if [ $# -eq 0 ]; then echo "Public IP: $(curl -s icanhazip.com -4)" ip route | awk '/default/ {print "Default Gateway: " $3} /src/ {print "Local IP: " $9}' | head -n 2 else case $1 in "-p" ) echo "Public IP: $(curl -s icanhazip.com -4)";; "-d" ) ip route | awk '/default/ {print $3}';; "-l" ) ip route | awk '/src/ {print $9}';; * ) echo "Options: -p, -d or -l for public ip, default gateway, and local ip respectively"; echo "i.e. icanhazip -p" esac fi ''; }