#!/usr/bin/env bash WIFI="" while [[ ! $WIFI =~ [yYnN] ]]; do read -p "Setup wifi? [Y/n] " WIFI if [[ -z $WIFI ]]; then WIFI=Y; fi done if [[ $WIFI =~ [Yy] ]]; then read -p "Wifi - SSID: " SSID read -s -p "Wifi - PSK: " PSK echo read -p "Wifi - Interface: [auto]" INTERFACE if [[ -z $INTERFACE || $INTERFACE == "auto" ]]; then INTERFACE=$(iwconfig 2>/dev/null | grep "^\S" | awk '{print $1}') fi if [[ -z $SSID ]]; then echo "SSID is missing" exit 1 fi if [[ -z $INTERFACE ]]; then echo "Could not get wiresless interface" exit 1 fi for PID in $(pidof wpa_supplicant); do echo "Killing existing wpa_supplicant $PID" sudo kill -9 $PID sudo ip a flush dev $INTERFACE done echo "network={" > wpa_supplicant.conf echo " ssid=\"$SSID\"" >> wpa_supplicant.conf if [[ ! -z $PSK ]]; then echo " psk=\"$PSK\"" >> wpa_supplicant.conf fi echo "}" >> wpa_supplicant.conf sudo wpa_supplicant -B -c wpa_supplicant.conf -i $INTERFACE for i in {1..10}; do ping -c 1 -w 1 1.1.1.1 > /dev/null 2>&1 && break done fi if ! ping -c 1 -w 1 1.1.1.1 > /dev/null 2>&1; then echo "No internet connection" exit 1 fi echo "Checking out nixFlake" nix