#!/bin/bash



function sudo_write_file {
  awk 'NR == 1 {match($0, /^ */); l = RLENGTH + 1}{print substr($0, l)}' |  sudo tee $1 > /dev/null
  #sed 's/^ \+//g' | run sudo tee $1 > /dev/null
}

# Check if root
if [ "$EUID" -ne 0 ]
  then echo "Please run as root"
  exit
fi


dhcp=$1
WIFI_SSID=$2
WIFI_PASS=$3
IP=$4
NETMASK=$5
GATEWAY=$6

connmanctl scan wifi

service=$(connmanctl services | awk -v ssid="$WIFI_SSID" '{if ($(NF-1)==ssid){print $NF}}')





# Apply wireless network settings variables

if [ $dhcp == true ]; then
 sudo_write_file /var/lib/connman/wifi.config <<EOF
      # Generated by https://github.com/periph/bootstrap
      [General]
      PreferredTechnologies = ethernet,wifi,cellular
      [service_configured_wifi]
      Type = wifi
      Name = ${WIFI_SSID}
      Passphrase = ${WIFI_PASS}
      Favorite=true
      AutoConnect=true
EOF

else
 sudo_write_file /var/lib/connman/wifi.config <<EOF
      # Generated by https://github.com/periph/bootstrap
      [General]
      PreferredTechnologies = ethernet,wifi,cellular
      [service_configured_wifi]
      Type = wifi
      Name = ${WIFI_SSID}
      Passphrase = ${WIFI_PASS}
      IPv4=${IP}/${NETMASK}/${GATEWAY}
      IPv6=off
      Nameservers=8.8.8.8,8.8.4.4
      Favorite=true
      AutoConnect=true
EOF


fi
#connmanctl connect configured_wifi
connmanctl << EOF
agent on
connect $service
EOF