From 325e51f5fc5c14556c6f5295e3c4eb508e742bd9 Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Tue, 28 Jul 2026 15:47:53 -0400 Subject: [PATCH] feat(herdr): add worktrunk, automatic-rename, and zoxide plugins Add worktrunk keybindings for worktree management (switch/create/remove), shell hooks for automatic-rename in bash and fish, and zoxide directory browsing. Add mise setup task to install all three plugins. Enable auto theme switching. --- config/bash/profile | 4 + .../fish/conf.d/herdr-automatic-rename.conf | 3 + config/herdr/config.toml | 93 ++++++++++++++++++- config/mise/config.toml | 7 ++ 4 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 config/fish/conf.d/herdr-automatic-rename.conf diff --git a/config/bash/profile b/config/bash/profile index d3dda25..cf02747 100644 --- a/config/bash/profile +++ b/config/bash/profile @@ -34,3 +34,7 @@ if [ -n "$SSH_AUTH_SOCK" ] && [ "$SSH_AUTH_SOCK" != "$auth_sock" ]; then mkdir -p "$HOME/.ssh" ln -sf "$SSH_AUTH_SOCK" "$auth_sock" fi + +for _f in "$HOME"/.config/herdr/plugins/github/herdr-automatic-rename-*/shell/hook.bash; do + [ -r "$_f" ] && { source "$_f"; break; } +done diff --git a/config/fish/conf.d/herdr-automatic-rename.conf b/config/fish/conf.d/herdr-automatic-rename.conf new file mode 100644 index 0000000..650bf1d --- /dev/null +++ b/config/fish/conf.d/herdr-automatic-rename.conf @@ -0,0 +1,3 @@ +for _f in $HOME/.config/herdr/plugins/github/herdr-automatic-rename-*/shell/hook.fish + test -r "$_f"; and source "$_f"; and break +end diff --git a/config/herdr/config.toml b/config/herdr/config.toml index 5a9231c..2552e00 100644 --- a/config/herdr/config.toml +++ b/config/herdr/config.toml @@ -3,16 +3,107 @@ onboarding = false show_agent_labels_on_pane_borders = true pane_gaps = false pane_borders = true +prompt_new_tab_name = false [experimental] pane_history = true [theme] name = "gruvbox" -auto_switch = false +auto_switch = true [keys] prefix = "ctrl+space" [remote] manage_ssh_config = true + +# Override herdr's built-in "new worktree" key (prefix+shift+g) with worktrunk's +# default-branch switch/create picker: +[[keys.command]] +key = "prefix+shift+g" +type = "plugin_action" +command = "worktrunk.open" +description = "Worktree: switch / create from default branch" + +# Optional: bind current-branch creation separately. +[[keys.command]] +key = "prefix+shift+c" +type = "plugin_action" +command = "worktrunk.open-current" +description = "Worktree: switch / create from current branch" + +[[keys.command]] +key = "prefix+shift+d" +type = "plugin_action" +command = "worktrunk.remove" +description = "Worktree: remove" + +# Override herdr's built-in "new worktree" key (prefix+shift+g) with worktrunk's +# default-branch switch/create picker: +[[keys.command]] +key = "prefix+shift+g" +type = "plugin_action" +command = "worktrunk.open" +description = "Worktree: switch / create from default branch" + +# Optional: bind current-branch creation separately. +[[keys.command]] +key = "prefix+shift+c" +type = "plugin_action" +command = "worktrunk.open-current" +description = "Worktree: switch / create from current branch" + +[[keys.command]] +key = "prefix+shift+d" +type = "plugin_action" +command = "worktrunk.remove" +description = "Worktree: remove" + +# Override herdr's built-in "new worktree" key (prefix+shift+g) with worktrunk's +# default-branch switch/create picker: +[[keys.command]] +key = "prefix+shift+g" +type = "plugin_action" +command = "worktrunk.open" +description = "Worktree: switch / create from default branch" + +# Optional: bind current-branch creation separately. +[[keys.command]] +key = "prefix+shift+c" +type = "plugin_action" +command = "worktrunk.open-current" +description = "Worktree: switch / create from current branch" + +[[keys.command]] +key = "prefix+shift+d" +type = "plugin_action" +command = "worktrunk.remove" +description = "Worktree: remove" + +# Override herdr's built-in "new worktree" key (prefix+shift+g) with worktrunk's +# default-branch switch/create picker: +[[keys.command]] +key = "prefix+shift+g" +type = "plugin_action" +command = "worktrunk.open" +description = "Worktree: switch / create from default branch" + +# Optional: bind current-branch creation separately. +[[keys.command]] +key = "prefix+shift+c" +type = "plugin_action" +command = "worktrunk.open-current" +description = "Worktree: switch / create from current branch" + +[[keys.command]] +key = "prefix+shift+d" +type = "plugin_action" +command = "worktrunk.remove" +description = "Worktree: remove" + +[[keys.command]] +key = "prefix+o" +type = "plugin_action" +command = "herdr-zoxide.browse" +description = "Browse zoxide directories" diff --git a/config/mise/config.toml b/config/mise/config.toml index 55df28b..c9f8a70 100644 --- a/config/mise/config.toml +++ b/config/mise/config.toml @@ -43,6 +43,13 @@ run = [ 'npx skills add mattpocock/skills' ] +[tasks.herdr_setup] +run = [ + 'herdr plugin install devashish2203/herdr-worktrunk --yes', + 'herdr plugin install qu8n/herdr-automatic-rename --yes', + 'herdr plugin install den-tanui/herdr-zoxide --yes', +] + [tasks.light] run = [ 'omarchy-theme-set rose-pine',