diff options
Diffstat (limited to 'bin/.bin')
-rwxr-xr-x | bin/.bin/bat_check | 14 | ||||
-rwxr-xr-x | bin/.bin/dotstow | 21 | ||||
-rwxr-xr-x | bin/.bin/fixmap | 2 | ||||
-rwxr-xr-x | bin/.bin/gitit | 10 | ||||
-rwxr-xr-x | bin/.bin/lay | 3 | ||||
-rwxr-xr-x | bin/.bin/lay_both | 2 | ||||
-rwxr-xr-x | bin/.bin/lay_edp | 2 | ||||
-rwxr-xr-x | bin/.bin/lay_hdmi | 2 | ||||
-rwxr-xr-x | bin/.bin/lemonconf | 74 | ||||
-rwxr-xr-x | bin/.bin/light | 19 | ||||
-rwxr-xr-x | bin/.bin/pcolor | 3 | ||||
-rwxr-xr-x | bin/.bin/pkg | 22 | ||||
-rwxr-xr-x | bin/.bin/record | 10 | ||||
-rwxr-xr-x | bin/.bin/shut | 11 | ||||
-rwxr-xr-x | bin/.bin/statusbar | 45 | ||||
-rwxr-xr-x | bin/.bin/sysinfo | 20 | ||||
-rwxr-xr-x | bin/.bin/temp | 2 | ||||
-rwxr-xr-x | bin/.bin/unblock | 8 | ||||
-rwxr-xr-x | bin/.bin/update-resolv-conf.sh | 71 | ||||
-rwxr-xr-x | bin/.bin/wpa | 16 |
20 files changed, 357 insertions, 0 deletions
diff --git a/bin/.bin/bat_check b/bin/.bin/bat_check new file mode 100755 index 0000000..547b976 --- /dev/null +++ b/bin/.bin/bat_check | |||
@@ -0,0 +1,14 @@ | |||
1 | #!/bin/bash | ||
2 | while true | ||
3 | do | ||
4 | battery_level=$(cat /sys/class/power_supply/BAT0/capacity) | ||
5 | state=$(cat /sys/class/power_supply/BAT0/status) | ||
6 | if [ $battery_level -ge 90 ] && [ $state == "Charging" ]; then | ||
7 | notify-send 'Pull the plug!' $battery_level% | ||
8 | elif [ $battery_level -le 30 -a $battery_level -ge 20 ] && [ $state == "Discharging" ]; then | ||
9 | notify-send 'Plug me!' $battery_level% | ||
10 | elif [ $battery_level -le 20 ] && [ $state == "Discharging" ]; then | ||
11 | notify-send -u critical 'Plug me NOW!' $battery_level% | ||
12 | fi | ||
13 | sleep 300 # 300 seconds or 5 minutes | ||
14 | done | ||
diff --git a/bin/.bin/dotstow b/bin/.bin/dotstow new file mode 100755 index 0000000..bcadc5e --- /dev/null +++ b/bin/.bin/dotstow | |||
@@ -0,0 +1,21 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | # This script will Stow all the dotfiles located in the ~/dotfiles folder. | ||
4 | # The -R flag is used to force a 'restow' which will remove any existing symlinks before attempting to Stow. | ||
5 | |||
6 | echo "Stowing Dotfiles..."; | ||
7 | |||
8 | cd ~/dotfiles | ||
9 | for file in ~/dotfiles/*; do | ||
10 | # Only run Stow on the directories in the dotfiles folder and not the individual files. | ||
11 | # Using 'basename' strips the filepath from the directory name. | ||
12 | if [ -d ${file} ]; then | ||
13 | stow -R $(basename $file) | ||
14 | echo "$(basename $file) stowed."; | ||
15 | fi | ||
16 | done | ||
17 | |||
18 | # Return back to the your PWD from before you ran the script | ||
19 | cd ~- | ||
20 | |||
21 | echo 'All stowed'; | ||
diff --git a/bin/.bin/fixmap b/bin/.bin/fixmap new file mode 100755 index 0000000..e937e7c --- /dev/null +++ b/bin/.bin/fixmap | |||
@@ -0,0 +1,2 @@ | |||
1 | #!/bin/bash | ||
2 | setxkbmap -layout us -option caps:ctrl_modifier | ||
diff --git a/bin/.bin/gitit b/bin/.bin/gitit new file mode 100755 index 0000000..5d576c2 --- /dev/null +++ b/bin/.bin/gitit | |||
@@ -0,0 +1,10 @@ | |||
1 | #!/bin/sh | ||
2 | set -e | ||
3 | printf "\033[0;32mDeploying updates to server...\033[0m\n" | ||
4 | git add . | ||
5 | msg="changes" | ||
6 | if [ -n "$*" ]; then | ||
7 | msg="$*" | ||
8 | fi | ||
9 | git commit -m "$msg" | ||
10 | git push origin master | ||
diff --git a/bin/.bin/lay b/bin/.bin/lay new file mode 100755 index 0000000..b891ab1 --- /dev/null +++ b/bin/.bin/lay | |||
@@ -0,0 +1,3 @@ | |||
1 | #!/bin/sh | ||
2 | ~/bin/lay_hdmi | ||
3 | xrandr --output HDMI-1 --primary --mode 1366x768 --pos 0x0 --rotate normal --output eDP-1 --mode 1366x768 --pos 1366x0 --rotate normal | ||
diff --git a/bin/.bin/lay_both b/bin/.bin/lay_both new file mode 100755 index 0000000..245ff20 --- /dev/null +++ b/bin/.bin/lay_both | |||
@@ -0,0 +1,2 @@ | |||
1 | #!/bin/sh | ||
2 | xrandr --output eDP-1 --primary --mode 1366x768 --pos 0x0 --rotate normal --output HDMI-1 --mode 1366x768 --pos 0x0 --rotate normal | ||
diff --git a/bin/.bin/lay_edp b/bin/.bin/lay_edp new file mode 100755 index 0000000..e83d882 --- /dev/null +++ b/bin/.bin/lay_edp | |||
@@ -0,0 +1,2 @@ | |||
1 | #!/bin/sh | ||
2 | xrandr --output eDP-1 --primary --mode 1366x768 --pos 0x0 --rotate normal --output HDMI-1 --off | ||
diff --git a/bin/.bin/lay_hdmi b/bin/.bin/lay_hdmi new file mode 100755 index 0000000..9f84242 --- /dev/null +++ b/bin/.bin/lay_hdmi | |||
@@ -0,0 +1,2 @@ | |||
1 | #!/bin/sh | ||
2 | xrandr --output eDP-1 --off --output HDMI-1 --mode 1366x768 --pos 0x0 --rotate normal | ||
diff --git a/bin/.bin/lemonconf b/bin/.bin/lemonconf new file mode 100755 index 0000000..cb5e505 --- /dev/null +++ b/bin/.bin/lemonconf | |||
@@ -0,0 +1,74 @@ | |||
1 | #!/bin/bash | ||
2 | # Outputs a configuration for lemonbar | ||
3 | |||
4 | vol(){ | ||
5 | vol=$(pulsemixer --get-volume | awk '{print $1}') | ||
6 | mute=$(pulsemixer --get-mute) | ||
7 | if [ "$mute" == 1 ]; then | ||
8 | echo -e "%{F#787878}vol%{F-} muted " | ||
9 | elif [ "$mute" == 0 ]; then | ||
10 | echo -e "%{F#787878}vol%{F-} $vol% " | ||
11 | fi | ||
12 | } | ||
13 | |||
14 | bat() { | ||
15 | power=$(cat /sys/class/power_supply/BAT0/capacity) | ||
16 | status=$(cat /sys/class/power_supply/BAT0/status) | ||
17 | if [ "$status" == "Charging" ]; then | ||
18 | echo -e "%{F#787878}bat%{F-} +$power% " | ||
19 | elif [ "$status" == "Discharging" ]; then | ||
20 | echo -e "%{F#787878}bat%{F-} $power% " | ||
21 | fi | ||
22 | } | ||
23 | |||
24 | dte() { | ||
25 | dte=$(date +"%a, %b %d") | ||
26 | echo -e "%{F#787878}date%{F-} $dte " | ||
27 | } | ||
28 | |||
29 | tie() { | ||
30 | tme=$(date +"%I:%M %P") | ||
31 | echo -e "%{F#787878}time%{F-} $tme " | ||
32 | } | ||
33 | |||
34 | groups() { | ||
35 | cur=`xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}'` | ||
36 | tot=`xprop -root _NET_NUMBER_OF_DESKTOPS | awk '{print $3}'` | ||
37 | |||
38 | for w in `seq 0 $((cur - 1))`; do line="${line} "; done | ||
39 | line="${line} " | ||
40 | for w in `seq $((cur + 2)) $tot`; do line="${line} "; done | ||
41 | echo $line | ||
42 | } | ||
43 | |||
44 | workspaces() { | ||
45 | all=$(bspc query -D) | ||
46 | occupied=$(bspc query -D -d .occupied) | ||
47 | current=$(bspc query -D -d .focused) | ||
48 | result="" | ||
49 | padding=" " | ||
50 | while IFS= read -r line; do | ||
51 | # Get the name of the current desktop | ||
52 | name="" | ||
53 | if [[ "$occupied" == *"$line"* ]]; | ||
54 | then | ||
55 | name="" | ||
56 | fi | ||
57 | |||
58 | if [[ "$current" == *"$line"* ]]; | ||
59 | then | ||
60 | name="" | ||
61 | fi | ||
62 | |||
63 | result="$result$padding" | ||
64 | result="$result$name" | ||
65 | result="$result$padding" | ||
66 | done <<< "$all" | ||
67 | echo -e "$result" | ||
68 | } | ||
69 | |||
70 | while true; do | ||
71 | echo " $(vol) $(bat) $(tie) $(dte) %{F#787878}%{r}$(workspaces)%{F-} " | ||
72 | xdo above -t $(xdo id -n root) $(xdo id -n lemonbar) | ||
73 | sleep 3 | ||
74 | done | ||
diff --git a/bin/.bin/light b/bin/.bin/light new file mode 100755 index 0000000..bba7e82 --- /dev/null +++ b/bin/.bin/light | |||
@@ -0,0 +1,19 @@ | |||
1 | #!/bin/bash | ||
2 | # brightness wrapper | ||
3 | |||
4 | case "$1" in | ||
5 | u*) | ||
6 | for f in /sys/class/backlight/*; do | ||
7 | echo $(($(<$f/brightness)+5*$(<$f/max_brightness)/100)) > $f/brightness; | ||
8 | done | ||
9 | ;; | ||
10 | d*) | ||
11 | for f in /sys/class/backlight/*; do | ||
12 | echo $(($(<$f/brightness)-5*$(<$f/max_brightness)/100)) > $f/brightness; | ||
13 | done | ||
14 | ;; | ||
15 | *) | ||
16 | echo "choose u or d" | ||
17 | ;; | ||
18 | esac | ||
19 | |||
diff --git a/bin/.bin/pcolor b/bin/.bin/pcolor new file mode 100755 index 0000000..4cc28a0 --- /dev/null +++ b/bin/.bin/pcolor | |||
@@ -0,0 +1,3 @@ | |||
1 | #!/bin/bash | ||
2 | pcs() { for i in {0..7}; do echo -en "\e[${1}$((30+$i))m \u2588\u2588 \e[0m"; done; } | ||
3 | printf "\n%s\n%s\n\n" "$(pcs)" "$(pcs '1;')" | ||
diff --git a/bin/.bin/pkg b/bin/.bin/pkg new file mode 100755 index 0000000..5eea459 --- /dev/null +++ b/bin/.bin/pkg | |||
@@ -0,0 +1,22 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | case "$1" in | ||
4 | i*) | ||
5 | sudo xbps-install "$@" | ||
6 | ;; | ||
7 | d*) | ||
8 | sudo xbps-remove -R "$@" | ||
9 | ;; | ||
10 | q*) | ||
11 | sudo xbps-query "$@" | ||
12 | ;; | ||
13 | u*) | ||
14 | sudo xbps-install -Syu | ||
15 | ;; | ||
16 | o*) | ||
17 | sudo xbps-remove -Oo | ||
18 | ;; | ||
19 | *) | ||
20 | printf "i - install\nd - delete\nq - query\nu - update\no - remove obs" | ||
21 | ;; | ||
22 | esac | ||
diff --git a/bin/.bin/record b/bin/.bin/record new file mode 100755 index 0000000..5c6b499 --- /dev/null +++ b/bin/.bin/record | |||
@@ -0,0 +1,10 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | ffmpeg -f x11grab \ | ||
4 | -s 1980x1080 \ | ||
5 | -an -i :0.0 \ | ||
6 | -c:v libvpx \ | ||
7 | -b:v 5M \ | ||
8 | -crf 10 \ | ||
9 | -quality realtime \ | ||
10 | -y ~/record.mkv | ||
diff --git a/bin/.bin/shut b/bin/.bin/shut new file mode 100755 index 0000000..1fb1295 --- /dev/null +++ b/bin/.bin/shut | |||
@@ -0,0 +1,11 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | RET=$(echo -e "shutdown\nreboot\nsleep\nlock\ncancel" | dmenu -l 5 -p "Sayonara" -nb "#000000" -nf "#bfbfbf" -sb "#84a0c6" -sf "#000000" -fn "Hermit:size=10:antialias=true:autohint=true") | ||
4 | |||
5 | case $RET in | ||
6 | shutdown) doas poweroff ;; | ||
7 | reboot) doas reboot ;; | ||
8 | sleep) xset s activate & doas zzz;; | ||
9 | lock) xset s activate ;; | ||
10 | *) ;; | ||
11 | esac | ||
diff --git a/bin/.bin/statusbar b/bin/.bin/statusbar new file mode 100755 index 0000000..c506244 --- /dev/null +++ b/bin/.bin/statusbar | |||
@@ -0,0 +1,45 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | # Color definitions. | ||
4 | export BLK="\e[30m" | ||
5 | export RED="\e[31m" | ||
6 | export GRN="\e[32m" | ||
7 | export YLW="\e[33m" | ||
8 | export BLU="\e[34m" | ||
9 | export PUR="\e[35m" | ||
10 | export CYN="\e[36m" | ||
11 | export RST="\e[0m" | ||
12 | |||
13 | # Other formatting. | ||
14 | export BLD="\e[1m" | ||
15 | export DIM="\e[2m" | ||
16 | export ITA="\e[3m" | ||
17 | export UND="\e[4m" | ||
18 | export FLS="\e[5m" | ||
19 | export REV="\e[7m" | ||
20 | export INV="\e[8m" | ||
21 | export STR="\e[9m" | ||
22 | |||
23 | vol(){ | ||
24 | vol=$(pulsemixer --get-volume | awk '{print $1}') | ||
25 | echo -e "vol $vol%" | ||
26 | } | ||
27 | |||
28 | bat() { | ||
29 | power=$(cat /sys/class/power_supply/BAT0/capacity) | ||
30 | echo -e "bat $power%" | ||
31 | } | ||
32 | |||
33 | dte() { | ||
34 | dte=$(date +"%A, %B %d") | ||
35 | echo -e "date $dte" | ||
36 | } | ||
37 | |||
38 | tie() { | ||
39 | tme=$(date +"%I:%M %p") | ||
40 | echo -e "time $tme" | ||
41 | } | ||
42 | while :; do | ||
43 | echo "$(vol) $(bat) $(tie) $(dte)" | ||
44 | sleep 2 | ||
45 | done | ||
diff --git a/bin/.bin/sysinfo b/bin/.bin/sysinfo new file mode 100755 index 0000000..4f9f456 --- /dev/null +++ b/bin/.bin/sysinfo | |||
@@ -0,0 +1,20 @@ | |||
1 | #!/bin/bash | ||
2 | # | ||
3 | # System info | ||
4 | |||
5 | wm="$(echo $XDG_CURRENT_DESKTOP)" | ||
6 | distro="$(cat /etc/*-release | grep PRETTY_NAME | cut -d '=' -f2 | tr -d '"')" | ||
7 | packages="$(xbps-query -l | wc -l)" | ||
8 | font="jetbrains mono" | ||
9 | colors="pencil" | ||
10 | |||
11 | printf " \e[0m\n" | ||
12 | printf " \e[1;34m distro \e[0m$distro\n" | ||
13 | printf " \e[1;34m pkgs \e[0m$packages\n" | ||
14 | printf " \e[1;34m wm \e[0m$wm\n" | ||
15 | printf " \e[1;34m font \e[0m$font $fontsize\n" | ||
16 | printf " \e[1;34m colors \e[0m$colors\n" | ||
17 | printf " \e[0m\n" | ||
18 | |||
19 | pcs() { for i in {0..7}; do echo -en "\e[${1}$((30+$i))m \u2588\u2588 \e[0m"; done; } | ||
20 | printf "\n%s\n%s\n\n" "$(pcs)" "$(pcs '1;')" | ||
diff --git a/bin/.bin/temp b/bin/.bin/temp new file mode 100755 index 0000000..fec8439 --- /dev/null +++ b/bin/.bin/temp | |||
@@ -0,0 +1,2 @@ | |||
1 | #!/bin/bash | ||
2 | paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/' | ||
diff --git a/bin/.bin/unblock b/bin/.bin/unblock new file mode 100755 index 0000000..257c4fb --- /dev/null +++ b/bin/.bin/unblock | |||
@@ -0,0 +1,8 @@ | |||
1 | #!/bin/sh | ||
2 | #whitelist escape | ||
3 | set -e | ||
4 | printf "\033[0;35mSetting wlo1 down....\033[0m\n" | ||
5 | sudo ip link set wlo1 down | ||
6 | printf "\033[0;36mChanging MAC address....\033[0m\n" | ||
7 | sudo macchanger --mac=FC:77:74:C7:71:71 wlo1 | ||
8 | printf "\033[0;32mEnjoy....\033[0m\n" | ||
diff --git a/bin/.bin/update-resolv-conf.sh b/bin/.bin/update-resolv-conf.sh new file mode 100755 index 0000000..16622a1 --- /dev/null +++ b/bin/.bin/update-resolv-conf.sh | |||
@@ -0,0 +1,71 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | # | ||
3 | # Parses DHCP options from openvpn to update resolv.conf | ||
4 | # To use set as 'up' and 'down' script in your openvpn *.conf: | ||
5 | # up /etc/openvpn/update-resolv-conf | ||
6 | # down /etc/openvpn/update-resolv-conf | ||
7 | # | ||
8 | # Used snippets of resolvconf script by Thomas Hood <jdthood@yahoo.co.uk> | ||
9 | # and Chris Hanson | ||
10 | # Licensed under the GNU GPL. See /usr/share/common-licenses/GPL. | ||
11 | # 07/2013 colin@daedrum.net Fixed intet name | ||
12 | # 05/2006 chlauber@bnc.ch | ||
13 | # | ||
14 | # Example envs set from openvpn: | ||
15 | # foreign_option_1='dhcp-option DNS 193.43.27.132' | ||
16 | # foreign_option_2='dhcp-option DNS 193.43.27.133' | ||
17 | # foreign_option_3='dhcp-option DOMAIN be.bnc.ch' | ||
18 | # foreign_option_4='dhcp-option DOMAIN-SEARCH bnc.local' | ||
19 | |||
20 | ## The 'type' builtins will look for file in $PATH variable, so we set the | ||
21 | ## PATH below. You might need to directly set the path to 'resolvconf' | ||
22 | ## manually if it still doesn't work, i.e. | ||
23 | ## RESOLVCONF=/usr/sbin/resolvconf | ||
24 | export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin | ||
25 | RESOLVCONF=$(type -p resolvconf) | ||
26 | |||
27 | case $script_type in | ||
28 | |||
29 | up) | ||
30 | for optionname in ${!foreign_option_*} ; do | ||
31 | option="${!optionname}" | ||
32 | echo $option | ||
33 | part1=$(echo "$option" | cut -d " " -f 1) | ||
34 | if [ "$part1" == "dhcp-option" ] ; then | ||
35 | part2=$(echo "$option" | cut -d " " -f 2) | ||
36 | part3=$(echo "$option" | cut -d " " -f 3) | ||
37 | if [ "$part2" == "DNS" ] ; then | ||
38 | IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3" | ||
39 | fi | ||
40 | if [[ "$part2" == "DOMAIN" || "$part2" == "DOMAIN-SEARCH" ]] ; then | ||
41 | IF_DNS_SEARCH="$IF_DNS_SEARCH $part3" | ||
42 | fi | ||
43 | fi | ||
44 | done | ||
45 | R="" | ||
46 | if [ "$IF_DNS_SEARCH" ]; then | ||
47 | R="search " | ||
48 | for DS in $IF_DNS_SEARCH ; do | ||
49 | R="${R} $DS" | ||
50 | done | ||
51 | R="${R} | ||
52 | " | ||
53 | fi | ||
54 | |||
55 | for NS in $IF_DNS_NAMESERVERS ; do | ||
56 | R="${R}nameserver $NS | ||
57 | " | ||
58 | done | ||
59 | #echo -n "$R" | $RESOLVCONF -x -p -a "${dev}" | ||
60 | echo -n "$R" | $RESOLVCONF -x -a "${dev}.inet" | ||
61 | ;; | ||
62 | down) | ||
63 | $RESOLVCONF -d "${dev}.inet" | ||
64 | ;; | ||
65 | esac | ||
66 | |||
67 | # Workaround / jm@epiclabs.io | ||
68 | # force exit with no errors. Due to an apparent conflict with the Network Manager | ||
69 | # $RESOLVCONF sometimes exits with error code 6 even though it has performed the | ||
70 | # action correctly and OpenVPN shuts down. | ||
71 | exit 0 | ||
diff --git a/bin/.bin/wpa b/bin/.bin/wpa new file mode 100755 index 0000000..89f0141 --- /dev/null +++ b/bin/.bin/wpa | |||
@@ -0,0 +1,16 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | #https://github.com/icyphox/bin/blob/master/wpa | ||
3 | case "$1" in | ||
4 | r*) | ||
5 | sudo pkill wpa_supplicant | ||
6 | sudo wpa_supplicant -i wlp3s0 -B -c /etc/wpa_supplicant/wpa_supplicant.conf | ||
7 | ;; | ||
8 | n*) | ||
9 | sudo wpa_cli -i wlp3s0 select_network "$2" | ||
10 | ;; | ||
11 | l*) | ||
12 | sudo wpa_cli -i wlp3s0 list_networks | ||
13 | ;; | ||
14 | *) | ||
15 | sudo wpa_cli -i wlp3s0 "$*" | ||
16 | esac | ||