X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=lib%2Flogin_functions.sh;h=c4dcb53712896df8d295757af99f22da978ad6b7;hb=d754ba4236be9da61c882194bb89581d812e569b;hp=bb158462e6079d567c01e425466b756db325ab45;hpb=801dd7bda03b54584f3606de15b0897c77e787af;p=khome.git diff --git a/lib/login_functions.sh b/lib/login_functions.sh index bb15846..c4dcb53 100644 --- a/lib/login_functions.sh +++ b/lib/login_functions.sh @@ -1,4 +1,5 @@ # Top Disk-Using directories +# TODO: Consider using numfmt instead of awk tdu() { du "$1" \ | sort -n -k 1 -r --parallel="$(nproc)" \ @@ -34,9 +35,78 @@ man() { } experiment() { - cd "$($HOME/bin/experiment $@)" + cd "$($HOME/bin/experiment $@)" || exit 1 } hump() { ledit -l $(stty size | awk '{print $2}') ocaml $@ } + +howto() { + cat $(ls -1 -d $HOME/Archives/Documents/HOWTOs/* | fzf) +} + +gh_fetch_repos() { + curl "https://api.github.com/$1/$2/repos?page=1&per_page=10000" +} + +gh_clone() { + gh_fetch_repos "$1" "$2" \ + | jq --raw-output '.[] | select(.fork | not) | .git_url' \ + | parallel -j 25 \ + git clone {} +} + +gh_clone_user() { + gh_clone 'users' "$1" +} + +gh_clone_org() { + gh_clone 'orgs' "$1" +} + +work_log_template() { +cat << EOF +$(date +%F) +========== + +Morning report +-------------- + +### Previous + +### Current + +### Blockers + +Day's notes +----------- +EOF +} + +work_log() { + mkdir -p "$DIR_WORK_LOG" + file_work_log_today="${DIR_WORK_LOG}/$(date +%F).md" + if [ ! -f "$file_work_log_today" ] + then + work_log_template > "$file_work_log_today" + fi + vim "$file_work_log_today" + +} + +weather() { + curl "http://wttr.in/$WEATHER_LOCATION" +} + +bt_devs_paired() { + bluetoothctl -- paired-devices \ + | awk '{print $2}' \ + | xargs bluetoothctl -- info +} + +bt_devs() { + bluetoothctl -- devices \ + | awk '{print $2}' \ + | xargs bluetoothctl -- info +}