if [[ -f "${HOME}"/.config/dotfiles/docker ]]; then source "${HOME}"/.config/dotfiles/docker export DOCKER_VM_IP="${ip}" export DOCKER_VM_SSH="${user}@${DOCKER_VM_IP}" export DOCKER_HOST="ssh://${DOCKER_VM_SSH}" elif [[ "${OSTYPE}" == *darwin* ]]; then for app in 'VMware Fusion.app' 'VMware Fusion Tech Preview.app'; do if [[ -f "/Applications/${app}/Contents/Library/vmrun" ]]; then vmrun="/Applications/${app}/Contents/Library/vmrun" break fi done unset app for vm in Docker Gomeisa; do if [[ -f "${HOME}/Virtual Machines.localized/${vm}.vmwarevm/${vm}.vmx" ]]; then vmx="${HOME}/Virtual Machines.localized/${vm}.vmwarevm/${vm}.vmx" break fi done unset vm if [[ -n "${vmrun:-}" && -n "${vmx:-}" ]]; then started=0 if "${vmrun}" list | grep -q "${vmx}"; then started=1 else # TODO: user feedback facilities #echo "* Starting Docker VM" #"${vmrun}" start "${vmx}" nogui echo "* Docker VM not found" fi if [[ "${started}" = 1 ]]; then # TODO: use 'docker' once Gomeisa is gone user='root' # TODO: make this faster # - look into /var/db/vmware/vmnet-dhcpd-vmnet{1,8}.leases # - cache found IP ip="$("${vmrun}" getGuestIPAddress "${vmx}" -wait)" export DOCKER_VM_IP="${ip}" export DOCKER_VM_SSH="${user}@${DOCKER_VM_IP}" export DOCKER_HOST="ssh://${DOCKER_VM_SSH}" fi fi unset started unset vmrun unset vmx unset ip unset user fi # vim: ft=bash