diff options
Diffstat (limited to 'nixos/scripts/dm-wifi')
-rwxr-xr-x | nixos/scripts/dm-wifi | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/nixos/scripts/dm-wifi b/nixos/scripts/dm-wifi new file mode 100755 index 0000000..3f94ee5 --- /dev/null +++ b/nixos/scripts/dm-wifi @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# +# script name: dm-wifi +# Description: Connect to wifi using dmenu +# Dependencies: dmenu, fzf, rofi, nmcli, Any Nerd Font +# GitLab: https://www.gitlab.com/dwt1/dmscripts +# License: https://www.gitlab.com/dwt1/dmscripts/LICENSE +# Contributor: WitherCubes +# Derek Taylor + +# Set with the flags "-e", "-u","-o pipefail" cause the script to fail +# if certain things happen, which is a good thing. Otherwise, we can +# get hidden bugs that are hard to discover. +set -euo pipefail + +# shellcheck disable=SC1091 +source ./_dm-helper.sh 2>/dev/null || source _dm-helper.sh 2>/dev/null + +source_dmscripts_configs + +if configs_are_different; then + echo "$(date): configs are different" >>"$DM_CONFIG_DIFF_LOGFILE" + sleep 1 +fi + +main() { + # TODO: Fix cut line at some point + bssid=$(nmcli device wifi list | sed -n '1!p' | cut -b 9- | ${MENU} "Select Wifi :" | cut -d' ' -f1) + pass=$(echo "" | ${MENU} "Enter Password :") + # We are disabling a shellcheck warning about using && and || as it doesn't apply here. + # shellcheck disable=SC2015 + [ -n "$pass" ] && nmcli device wifi connect "$bssid" password "$pass" || nmcli device wifi connect "$bssid" + sleep 10 + if ping -q -c 2 -W 2 google.com >/dev/null; then + notify-send "Your internet is working :)" + else + notify-send "Your internet is not working :(" + fi +} + +MENU="$(get_menu_program "$@")" +[[ "${BASH_SOURCE[0]}" == "${0}" ]] && main |