Skip to content

Commit

Permalink
feat(#45): implement blue, a bluetoothctl wrapper cli
Browse files Browse the repository at this point in the history
closes #45
  • Loading branch information
meatwallace committed May 14, 2019
1 parent 615bbdb commit 0036da6
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 8 deletions.
1 change: 1 addition & 0 deletions .config/awesome/autorun.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@ run_unique xcape start-xcape
run_unique pulseaudio start-pulseaudio-x11
run_unique light-locker
run_unique compton
run_unique bt-agent

nvidia-settings --load-config-only
1 change: 0 additions & 1 deletion bin/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# 3rd party libraries we've symlinked
is
yadm

85 changes: 85 additions & 0 deletions bin/blue
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#!/bin/sh

set -eu

usage() {
cat << HEREDOC
blue
Usage:
blue enable
blue disable
blue scan [<duration>]
blue devices
blue paired
blue connect [<device>]
blue disconnect
blue help
HEREDOC

}

blue_enable() {
bluetoothctl -- power on >/dev/null

echo "bluetooth enabled."
}

blue_disable() {
bluetoothctl -- power off >/dev/null

echo "bluetooth disabled."
}

blue_scan() {
duration="${1:-10}"
echo "scanning..."
(bluetoothctl -- scan on >/dev/null 2>&1) &
sleep "$duration"
kill %1 >/dev/null 2>&1
sleep 1
blue_devices
}

blue_devices() {
echo "MAC address Name"
echo "-----------------------------------"
bluetoothctl -- devices | cut -d\ -s -f2-
}

blue_paired() {
echo "MAC address Name"
echo "-----------------------------------"
bluetoothctl -- paired-devices
}

# TODO: handle case where no devices are listed
blue_connect() {
device="${1-"$(blue_devices | fzf --header-lines=2)"}"
device_mac="$(echo "$device" | cut -d\ -f1)"

bluetoothctl --agent -- connect "$device_mac" >/dev/null

echo "successfully connected."
}

# TODO: handle case where no devices are listed
blue_disconnect() {
device="${1-"$(blue_devices | fzf --header-lines=2)"}"
device_mac="$(echo "$device" | cut -d\ -f1)"

bluetoothctl -- disconnect "$device_mac" >/dev/null

echo "successfully disconnected."
}

blue() {
cmd="$1"

case "$cmd" in
enable|disable|scan|devices|paired|connect|disconnect) shift; "blue_$cmd" "$@" ;;
*) usage ;;
esac
}

blue "$@"
9 changes: 5 additions & 4 deletions scripts/linux/enable_services.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
set -euo pipefail

declare -a services=(
bluetooth.service
lightdm.service
libvirtd.service
virtlogd.service
docker.service
apparmor.service
snapd.socket
snapd.apparmor.service
# apparmor.service
# snapd.socket
# snapd.apparmor.service
)

# enable all of our required services
Expand All @@ -18,4 +19,4 @@ for service in "${services[@]}"; do
done

# enable classic snap support
sudo ln -fs /var/lib/snapd/snap /snap
# sudo ln -fs /var/lib/snapd/snap /snap
12 changes: 9 additions & 3 deletions scripts/linux/update_user_groups.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
#!/usr/bin/env bash
#!/bin/sh

set -euo pipefail
set -eu

username="$(id -u -n)"

sudo usermod -aG docker "$username"
# bluetooth
sudo usermod -aG lg "$username"

# virtualization
sudo usermod -aG libvirt "$username"

# docker
sudo usermod -aG docker "$username"

0 comments on commit 0036da6

Please sign in to comment.