#!/bin/sh -Cef
# tiny, ugly, but also kinda cute "network manager"

# shellcheck disable=SC2046
set -- $(cat /proc/cmdline)
for x in "$@"
do
	case "$x" in
		ifcfg=* )
			params="${x#ifcfg=}"
		;;
	esac
done

if [ -z "$params" ]
then
	echo 'Nothing to do.'
	exit 0
fi

interface="$(echo "$params" | cut -d= -f1)"
params="$(echo "$params" | cut -d= -f2)"

if ! ip -br l sh | grep ^"$interface"
then
	echo 'No matching interface.'
	exit 1
fi

address="$(echo "$params" | cut -d, -f1)"
gateway="$(echo "$params" | cut -d, -f2)"
namesrv="$(echo "$params" | cut -d, -f3)"

ip a a "$address" dev "$interface"
ip l s up dev "$interface"
ip r a default via "$gateway"

echo nameserver "$namesrv" > /etc/resolv.conf || :

# MMDS
ip a a 169.254.169.250/24 dev "$interface"

ip -br a
