From bb77a3a0327e8389fe5a253b4e58071eec8ccb6c Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 17:22:53 -0500 Subject: [PATCH 1/9] Add blerc. --- .blerc | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .blerc diff --git a/.blerc b/.blerc new file mode 100644 index 0000000..01a27d6 --- /dev/null +++ b/.blerc @@ -0,0 +1,54 @@ +# Insert date-time string within a bash prompt using `\dt` +function blerc/define-sabbrev-dt { + ble-sabbrev -m '\dt'='ble/util/assign COMPREPLY "date +%F_%H-%M-%S"' +} +blehook/eval-after-load complete blerc/define-sabbrev-dt + +# Insert the time within a bash prompt using `\time` +function blerc/define-sabbrev-time { + ble-sabbrev -m '\time'='ble/util/assign COMPREPLY "date +%H-%M-%S"' +} +blehook/eval-after-load complete blerc/define-sabbrev-time + +# Insert the date within a bash prompt using `\date` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r1-insert-date-through-sabbrev-date +function blerc/define-sabbrev-date { + ble-sabbrev -m '\date'='ble/util/assign COMPREPLY "date +%F"' +} +blehook/eval-after-load complete blerc/define-sabbrev-date + +# Interactive git branch selection with `\branch` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r2-insert-git-branch-name-from-menu-through-sabbrev-branch +function blerc/define-sabbrev-branch { + function blerc/sabbrev-git-branch { + ble/util/assign-array COMPREPLY "git branch | sed 's/^\*\{0,1\}[[:blank:]]*//'" 2>/dev/null + } + ble-sabbrev -m '\branch'=blerc/sabbrev-git-branch +} +blehook/eval-after-load complete blerc/define-sabbrev-branch + +# Interactive git commit selection with `\commit` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r3-insert-git-commit-id-from-menu-through-sabbrev-commit +function blerc/define-sabbrev-commit { + ble/color/defface blerc_git_commit_id fg=63 + ble/complete/action#inherit-from blerc_git_commit_id word + function ble/complete/action:blerc_git_commit_id/init-menu-item { + local ret + ble/color/face2g blerc_git_commit_id; g=$ret + } + function blerc/sabbrev-git-commit { + bleopt sabbrev_menu_style=desc-raw + bleopt sabbrev_menu_opts=enter_menu + + local format=$'%h \e[1;32m(%ar)\e[m %s - \e[4m%an\e[m\e[1;33m%d\e[m' + local arr; ble/util/assign-array arr 'git log --pretty=format:"$format"' &>/dev/null + local line hash subject + for line in "${arr[@]}"; do + builtin read hash subject <<< "$line" + ble/complete/cand/yield blerc_git_commit_id "$hash" "$subject" + done + } + ble-sabbrev -m '\commit'='blerc/sabbrev-git-commit' +} +blehook/eval-after-load complete blerc/define-sabbrev-commit + -- 2.49.1 From 4b41cbe46728f20c8d12884f3c2ada69ec4cd094 Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 21:48:25 -0500 Subject: [PATCH 2/9] Install ble.sh in setup script. --- .config/yakuakerc | 52 ----------------------------------------------- .gitignore | 2 ++ setup.sh | 6 ++++++ 3 files changed, 8 insertions(+), 52 deletions(-) delete mode 100644 .config/yakuakerc diff --git a/.config/yakuakerc b/.config/yakuakerc deleted file mode 100644 index 12b814d..0000000 --- a/.config/yakuakerc +++ /dev/null @@ -1,52 +0,0 @@ -[Animation] -AutoOpen=false -Frames=17 -PollInterval=500 -UseVMAssist=true - -[Appearance] -BackgroundColor=#000000 -BackgroundColorOpacity=0.4 -Blur=false -KeyboardInputBlockIndicatorColor=#FF0000 -KeyboardInputBlockIndicatorDuration=250 -Skin=default -SkinInstallWithKns=false -TerminalHighlightDuration=250 -Translucency=false - -[Behavior] -FocusFollowMouse=false -OpenAfterStart=false -RememberFullscreen=false - -[Desktop Entry] -DefaultProfile= - -[Dialogs] -ConfirmQuit=true -FirstRun=false - -[Favorite Profiles] -Favorites= - -[KFileDialog Settings] -detailViewIconSize=0 - -[PrintOptions] -PrinterFriendly=true -ScaleOutput=true - -[Window] -DynamicTabTitles=false -Height=60 -KeepAbove=true -KeepOpen=true -KeepOpenAfterLastSessionCloses=false -Position=50 -Screen=0 -ShowOnAllDesktops=true -ShowSystrayIcon=true -ShowTabBar=true -ShowTitleBar=true -ToggleToFocus=false \ No newline at end of file diff --git a/.gitignore b/.gitignore index d9cea87..23f2743 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,8 @@ .config/Code/rapid_render.json .config/Code/Network* **/.config/.brightness +.local/share/fonts/.uuid + # Byte-compiled / optimized / DLL files *__pycache__/ diff --git a/setup.sh b/setup.sh index 9d7f067..5da6a54 100755 --- a/setup.sh +++ b/setup.sh @@ -4,3 +4,9 @@ git submodule update --init . .bash_aliases ,init go install github.com/arl/gitmux@latest + +# Install bash line editor for auto completion. +git clone --recursive --depth 1 --shallow-submodules https://github.com/akinomyoga/ble.sh.git +make -C ble.sh install PREFIX=$(pwd)/.local +echo 'source -- ~/.local/share/blesh/ble.sh' >> .bash_aliases +rm -rf ble.sh -- 2.49.1 From 90f24b1eddd93f373b0b1d5fc1e1e69d13416b1c Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 21:49:07 -0500 Subject: [PATCH 3/9] Revert "Add blerc." This reverts commit fdf5dcfe9dd652db54e0ff846d49ff6a564da2e9. --- .blerc | 54 ------------------------------------------------------ 1 file changed, 54 deletions(-) delete mode 100644 .blerc diff --git a/.blerc b/.blerc deleted file mode 100644 index 01a27d6..0000000 --- a/.blerc +++ /dev/null @@ -1,54 +0,0 @@ -# Insert date-time string within a bash prompt using `\dt` -function blerc/define-sabbrev-dt { - ble-sabbrev -m '\dt'='ble/util/assign COMPREPLY "date +%F_%H-%M-%S"' -} -blehook/eval-after-load complete blerc/define-sabbrev-dt - -# Insert the time within a bash prompt using `\time` -function blerc/define-sabbrev-time { - ble-sabbrev -m '\time'='ble/util/assign COMPREPLY "date +%H-%M-%S"' -} -blehook/eval-after-load complete blerc/define-sabbrev-time - -# Insert the date within a bash prompt using `\date` -# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r1-insert-date-through-sabbrev-date -function blerc/define-sabbrev-date { - ble-sabbrev -m '\date'='ble/util/assign COMPREPLY "date +%F"' -} -blehook/eval-after-load complete blerc/define-sabbrev-date - -# Interactive git branch selection with `\branch` -# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r2-insert-git-branch-name-from-menu-through-sabbrev-branch -function blerc/define-sabbrev-branch { - function blerc/sabbrev-git-branch { - ble/util/assign-array COMPREPLY "git branch | sed 's/^\*\{0,1\}[[:blank:]]*//'" 2>/dev/null - } - ble-sabbrev -m '\branch'=blerc/sabbrev-git-branch -} -blehook/eval-after-load complete blerc/define-sabbrev-branch - -# Interactive git commit selection with `\commit` -# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r3-insert-git-commit-id-from-menu-through-sabbrev-commit -function blerc/define-sabbrev-commit { - ble/color/defface blerc_git_commit_id fg=63 - ble/complete/action#inherit-from blerc_git_commit_id word - function ble/complete/action:blerc_git_commit_id/init-menu-item { - local ret - ble/color/face2g blerc_git_commit_id; g=$ret - } - function blerc/sabbrev-git-commit { - bleopt sabbrev_menu_style=desc-raw - bleopt sabbrev_menu_opts=enter_menu - - local format=$'%h \e[1;32m(%ar)\e[m %s - \e[4m%an\e[m\e[1;33m%d\e[m' - local arr; ble/util/assign-array arr 'git log --pretty=format:"$format"' &>/dev/null - local line hash subject - for line in "${arr[@]}"; do - builtin read hash subject <<< "$line" - ble/complete/cand/yield blerc_git_commit_id "$hash" "$subject" - done - } - ble-sabbrev -m '\commit'='blerc/sabbrev-git-commit' -} -blehook/eval-after-load complete blerc/define-sabbrev-commit - -- 2.49.1 From 6d59e72866374f79ffbad489dccd883da5cfd1c2 Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 21:52:29 -0500 Subject: [PATCH 4/9] Reapply "Add blerc." This reverts commit b2734d8e54d59b6d391ae68f46e51f4d02566c62. --- .blerc | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .blerc diff --git a/.blerc b/.blerc new file mode 100644 index 0000000..01a27d6 --- /dev/null +++ b/.blerc @@ -0,0 +1,54 @@ +# Insert date-time string within a bash prompt using `\dt` +function blerc/define-sabbrev-dt { + ble-sabbrev -m '\dt'='ble/util/assign COMPREPLY "date +%F_%H-%M-%S"' +} +blehook/eval-after-load complete blerc/define-sabbrev-dt + +# Insert the time within a bash prompt using `\time` +function blerc/define-sabbrev-time { + ble-sabbrev -m '\time'='ble/util/assign COMPREPLY "date +%H-%M-%S"' +} +blehook/eval-after-load complete blerc/define-sabbrev-time + +# Insert the date within a bash prompt using `\date` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r1-insert-date-through-sabbrev-date +function blerc/define-sabbrev-date { + ble-sabbrev -m '\date'='ble/util/assign COMPREPLY "date +%F"' +} +blehook/eval-after-load complete blerc/define-sabbrev-date + +# Interactive git branch selection with `\branch` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r2-insert-git-branch-name-from-menu-through-sabbrev-branch +function blerc/define-sabbrev-branch { + function blerc/sabbrev-git-branch { + ble/util/assign-array COMPREPLY "git branch | sed 's/^\*\{0,1\}[[:blank:]]*//'" 2>/dev/null + } + ble-sabbrev -m '\branch'=blerc/sabbrev-git-branch +} +blehook/eval-after-load complete blerc/define-sabbrev-branch + +# Interactive git commit selection with `\commit` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r3-insert-git-commit-id-from-menu-through-sabbrev-commit +function blerc/define-sabbrev-commit { + ble/color/defface blerc_git_commit_id fg=63 + ble/complete/action#inherit-from blerc_git_commit_id word + function ble/complete/action:blerc_git_commit_id/init-menu-item { + local ret + ble/color/face2g blerc_git_commit_id; g=$ret + } + function blerc/sabbrev-git-commit { + bleopt sabbrev_menu_style=desc-raw + bleopt sabbrev_menu_opts=enter_menu + + local format=$'%h \e[1;32m(%ar)\e[m %s - \e[4m%an\e[m\e[1;33m%d\e[m' + local arr; ble/util/assign-array arr 'git log --pretty=format:"$format"' &>/dev/null + local line hash subject + for line in "${arr[@]}"; do + builtin read hash subject <<< "$line" + ble/complete/cand/yield blerc_git_commit_id "$hash" "$subject" + done + } + ble-sabbrev -m '\commit'='blerc/sabbrev-git-commit' +} +blehook/eval-after-load complete blerc/define-sabbrev-commit + -- 2.49.1 From 72f807aaf026f607ef9cd91d6702c34e877c45ab Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 22:01:54 -0500 Subject: [PATCH 5/9] Test install. --- .bash_aliases | 7 ++++++- setup.sh | 3 +-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.bash_aliases b/.bash_aliases index dbaae94..4fbf4f7 100644 --- a/.bash_aliases +++ b/.bash_aliases @@ -1,3 +1,8 @@ +# Source ble.sh if installed. +if [ -f ~/.local/share/blesh/ble.sh ]; then + source -- ~/.local/share/blesh/ble.sh +fi + # Source rust things if they exist if [ -f ~/.cargo/env ]; then . ~/.cargo/env @@ -11,7 +16,7 @@ if [ -f /.dockerenv ]; then alias ,init='apt update -y && apt install -y $DOT_PACKAGES' alias ,swap='swapoff -a && swapon -a' else - export DOT_PACKAGES='git stow vim vim-gtk3 xsel xclip tmux ranger clang yakuake wget curl golang-go' + export DOT_PACKAGES='git stow vim vim-gtk3 xsel xclip tmux ranger clang yakuake wget curl golang-go gawk' alias ,update='sudo apt update -y && sudo apt upgrade -y && sudo apt upgrade --fix-broken --fix-missing --auto-remove' alias ,init='sudo apt update -y && sudo apt install -y $DOT_PACKAGES' # Clear kscreen cached settings diff --git a/setup.sh b/setup.sh index 5da6a54..cd3c219 100755 --- a/setup.sh +++ b/setup.sh @@ -2,11 +2,10 @@ git submodule update --init # Use alias for installing packages so we don't maintain several dependency lists. . .bash_aliases -,init +sudo apt update -y && sudo apt install -y $DOT_PACKAGES go install github.com/arl/gitmux@latest # Install bash line editor for auto completion. git clone --recursive --depth 1 --shallow-submodules https://github.com/akinomyoga/ble.sh.git make -C ble.sh install PREFIX=$(pwd)/.local -echo 'source -- ~/.local/share/blesh/ble.sh' >> .bash_aliases rm -rf ble.sh -- 2.49.1 From 060dd0b44fbf9ac50bed0524319fb8e8ccfc3978 Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 22:28:47 -0500 Subject: [PATCH 6/9] Update setup script. --- setup.sh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/setup.sh b/setup.sh index cd3c219..7f71932 100755 --- a/setup.sh +++ b/setup.sh @@ -1,7 +1,29 @@ #!/usr/bin/env bash -git submodule update --init +set -Eeuo pipefail + +# $1: Error message +# $2: Error code +function fatal() { + local msg=${1:-"Unspecified error"} + echo "[Error:$LINENO] Could not install dotfiles: $msg" + exit ${2:-1} +} +trap 'fatal "Trapped an unknown error" $?' ERR + +if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then + fatal "Run setup.sh from the root directory of the dotfiles repository." 2 +fi +git submodule update --init --recursive + # Use alias for installing packages so we don't maintain several dependency lists. +if [[ ! -f .bash_aliases ]]; then + fatal "Failed to locate .bash_aliases in path: $(pwd)" 3 +fi . .bash_aliases + +if [[ -z ${DOT_PACKAGES:-} ]]; then + fatal "DOT_PACKAGES variable not found after sourcing $(pwd)/.bash_aliases" 4 +fi sudo apt update -y && sudo apt install -y $DOT_PACKAGES go install github.com/arl/gitmux@latest -- 2.49.1 From 3c04a3a24a8c728a1b86db401b17aa38703eaadc Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 22:30:52 -0500 Subject: [PATCH 7/9] Fix if. --- setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.sh b/setup.sh index 7f71932..1d8e11e 100755 --- a/setup.sh +++ b/setup.sh @@ -16,7 +16,7 @@ fi git submodule update --init --recursive # Use alias for installing packages so we don't maintain several dependency lists. -if [[ ! -f .bash_aliases ]]; then +if ! [[ -f .bash_aliases ]]; then fatal "Failed to locate .bash_aliases in path: $(pwd)" 3 fi . .bash_aliases -- 2.49.1 From 5d6db8b9be191d8a32fae6ecfc85e1927828d69a Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 22:38:42 -0500 Subject: [PATCH 8/9] Add yakuakerc. If this gets too annoying, I can add these files to .stow-local-ignore and 'install' them by copying with the setup.sh? --- .config/yakuakerc | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .config/yakuakerc diff --git a/.config/yakuakerc b/.config/yakuakerc new file mode 100644 index 0000000..ad97a91 --- /dev/null +++ b/.config/yakuakerc @@ -0,0 +1,52 @@ +[Animation] +AutoOpen=false +Frames=17 +PollInterval=500 +UseVMAssist=true + +[Appearance] +BackgroundColor=#000000 +BackgroundColorOpacity=0.4 +Blur=false +KeyboardInputBlockIndicatorColor=#FF0000 +KeyboardInputBlockIndicatorDuration=250 +Skin=default +SkinInstallWithKns=false +TerminalHighlightDuration=250 +Translucency=false + +[Behavior] +FocusFollowMouse=false +OpenAfterStart=false +RememberFullscreen=false + +[Desktop Entry] +DefaultProfile= + +[Dialogs] +ConfirmQuit=true +FirstRun=false + +[Favorite Profiles] +Favorites= + +[KFileDialog Settings] +detailViewIconSize=0 + +[PrintOptions] +PrinterFriendly=true +ScaleOutput=true + +[Window] +DynamicTabTitles=false +Height=60 +KeepAbove=true +KeepOpen=true +KeepOpenAfterLastSessionCloses=false +Position=50 +Screen=0 +ShowOnAllDesktops=true +ShowSystrayIcon=true +ShowTabBar=true +ShowTitleBar=true +ToggleToFocus=false -- 2.49.1 From 5784d733d6a5f999b43d051ce45ad03340843c0d Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 22:40:20 -0500 Subject: [PATCH 9/9] rm --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 23f2743..119fc93 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,6 @@ **/.config/.brightness .local/share/fonts/.uuid - # Byte-compiled / optimized / DLL files *__pycache__/ *.py[cod] -- 2.49.1