{ pkgs, ... }:
{
  home.packages = with pkgs; [
    (writeShellScriptBin "dmenu-wifi" ''
      nmcli dev wifi rescan
      ssid_list=$(nmcli -f in-use,bssid,ssid,mode,chan,freq,rate,signal,bars,security  dev wifi)
      available_connections=$(echo "$ssid_list" | sed '/--.*Infra/d')
      
      connection=$( echo "$available_connections" | dmenu -l 20)
      bssid=$(echo "$connection" | sed 's/^.\s*//;s/\s\s.*$//')
      ssid=$(echo "$connection" | sed 's/^.\s*[0-9;A-Z;:]*\s\s//;s/\s*Infra\s*[0-9].*$//')
      [[ "$connection" = "" ]] && notify-send -t 5000 "Wifi Connect" "Cancelled" && exit 0
      [[ $( echo "$connection" | grep "IN-USE" -o) = "IN-USE" ]] && notify-send -t 5000 "Wifi Connect" "Please select valid network" && exit 0
      [[ -n "$(echo "$connection" | grep '\*')" ]] && notify-send -t 5000 "Wifi Connect" "Already Connected to: $(echo "$ssid")" && exit 0
      
      notify-send -t 5000 "Network Manager" "Attempting to connect to $ssid..."
      nmcli connection modify "$ssid" 802-11-wireless.bssid "$bssid"
      nmcli device wifi connect "$bssid"
      return_code=$?
      if [ $return_code == 4 ];
      then
        notify-send -t 5000 "Wifi Connect" "Please enter password for '$ssid'..."
        prompt="Enter Password for '$ssid'"
        pwd=$(echo "" | dmenu -p "$prompt")
        nmcli device wifi connect "$bssid" password "$pwd"
        return_code=$?
      fi
      case "$return_code" in
          0)  notify-send -t 5000 "Wifi Connect" "Successfully connected to: $ssid!"
              pkill -RTMIN+12 dwmblocks
              exit 0
          ;;
          3)  notify-send -t 5000 "Wifi Connect" "Connection to $ssid failed. Timeout expired?"
              pkill -RTMIN+12 dwmblocks
              exit 1
          ;;
          4)
              notify-send -t 5000 "Wifi Connect" "Connection to $ssid failed. Possibly wrong password?"
              nmcli connection delete id "$ssid"
              pkill -RTMIN+12 dwmblocks
              exit 1
          ;;
          *)  notify-send -t 5000 "Wifi Connect" "Connection to $ssid failed. Error code $?"
              echo "Failed. Exiting"
              pkill -RTMIN+12 dwmblocks
              exit 1
      esac
    '')
  ];
}