#!/bin/bash

config="$HOME/.config/srvstat.conf"
editor="nano"

[ ! -x "$(which "$editor")" ] && echo "srvstat: $editor not found!" && exit 1

[ -d "$(dirname "$config")" ] || mkdir -p "$(dirname "$config")"
[ -f "$config" ] || echo "localhost" > "$config"

show() {
	ssh $@ /bin/bash << EOF
	LANG=C
	echo \$HOSTNAME
	echo -n "  "
	uptime -p
	echo -n "  cpu "
	cat /proc/loadavg | cut -f 1-3 -d " "
	echo -n "  mem "
	free --si -h | head -n 2 | tail -n 1 | awk '{ print \$3, "/", \$2 }'
	echo -n "  disk "
	df --si --total -x tmpfs -x devtmpfs -x efivarfs | tail -n 1 | awk '{ print \$3, "/", \$2 }'
EOF
}

case "$1" in
	config)
		"$editor" "$config"
		;;
	"")
		cat "$config" | while read host; do show $host; done
		;;
	**)
		show $@
		;;
esac

exit 0
