+#
+
+d() {
+ local -r word=$(fzf < /usr/share/dict/words)
+ dict "$word"
+}
+
# Top Disk-Using directories
# TODO: Consider using numfmt instead of awk
tdu() {
du "$1" \
- | sort -n -k 1 -r --parallel="$(nproc)" \
+ | sort -n -k 1 -r \
| head -50 \
| awk '
{
cat "$(find ~/Archives/Documents/HOWTOs -mindepth 1 -maxdepth 1 | sort | fzf)"
}
+yt() {
+ local _yt_uri
+ local _yt_id
+ local _yt_title
+ local _yt_dir
+
+ _yt_uri="$1"
+ _yt_id=$(youtube-dl --get-id "$_yt_uri")
+ _yt_title=$(youtube-dl --get-title "$_yt_uri")
+ _yt_dir="${DIR_YOUTUBE}/individual-videos/${_yt_title}--${_yt_id}"
+
+ mkdir -p "$_yt_dir"
+ cd "$_yt_dir" || exit 1
+ echo "$_yt_uri" > 'uri'
+ youtube-dl -c --write-description --write-info-json "$_yt_uri"
+}
+
gh_fetch_repos() {
curl "https://api.github.com/$1/$2/repos?page=1&per_page=10000"
}
mkdir -p "$gh_dir"
cd "$gh_dir" || exit 1
git clone "$1"
- cd - || exit 1
}
work_log_template() {
cat << EOF
-$(date +%F)
+$(date '+%F %A')
==========
Morning report
then
work_log_template > "$file_work_log_today"
fi
- vim "$file_work_log_today"
+ vim -c 'set spell' "$file_work_log_today"
+
+}
+note() {
+ mkdir -p "$DIR_NOTES"
+ vim -c 'set spell' "$DIR_NOTES/$(date +'%Y_%m_%d--%H_%M_%S%z')--$1.md"
}
weather() {
| awk '{print $2}' \
| xargs bluetoothctl -- info
}
+
+run() {
+ stderr="$(mktemp)"
+ $@ 2> >(tee "$stderr")
+ code="$?"
+ urgency=''
+ case "$code" in
+ 0) urgency='normal';;
+ *) urgency='critical'
+ esac
+ notify-send -u "$urgency" "Job done: $code" "$(cat $stderr)"
+ rm "$stderr"
+}