feat: improve herdr config
This commit is contained in:
1 parent
34cf3d79cd
commit
3bfb233614
2 files changed
+92
-14
No files matched your search
+49
-13
@@ -176,10 +176,9 @@ and system operation/maintenance; these are discussion areas, not a work queue.
|
||||
Herdr's configured keys are accepted: the user reports liking them in practice.
|
||||
Niri workspace grouping stays informal while the user discovers what fits; Herdr
|
||||
provides enough structure for now. No workspace rules or fixed layout are needed.
|
||||
Further Herdr configuration, agent workflows and project management are explicitly
|
||||
deferred at the user's request. Do not use them as the default next task or request
|
||||
workflow feedback unless the user reopens the topic. The active area is theming.
|
||||
Agent evaluation is
|
||||
The user reopened Herdr configuration on 2026-09-10 for direct shortcuts and less
|
||||
interaction friction, using supported configuration only. Layout presets and
|
||||
launchers are explicitly unwanted; arrange panes manually. Agent evaluation is
|
||||
explicitly deferred. Do not resume replacement-tool comparisons or ask for an
|
||||
evaluation task/budget as a prerequisite for this work.
|
||||
|
||||
@@ -212,22 +211,59 @@ file. Direct Ctrl+Alt bindings supplement the existing Ctrl+B prefix shortcuts:
|
||||
| H / J / K / L | Focus pane left / down / up / right |
|
||||
| U / I | Next / previous workspace |
|
||||
| O / G | Workspace picker / goto picker |
|
||||
| 1–9 | Focus agent |
|
||||
| P / N | Previous / next agent |
|
||||
| [ / ] | Previous / next tab |
|
||||
| Enter | New tab |
|
||||
| V / Minus | Split right / down |
|
||||
| F | Zoom pane |
|
||||
| Q | Detach, leaving the session running |
|
||||
| Shift+H / J / K / L | Swap panes left / down / up / right (Shift on each) |
|
||||
| Shift+arrows | Resize pane directly |
|
||||
| R | Resize mode |
|
||||
| Tab / Shift+Tab | Next / previous pane |
|
||||
| Backspace | Return to last pane, including across tabs/spaces |
|
||||
| X / Shift+X | Close pane / tab |
|
||||
| Shift+P / Shift+A | Rename pane / tab |
|
||||
| Shift+[ / Shift+] | Move tab earlier / later |
|
||||
| Shift+Enter | New space |
|
||||
| Shift+W / Shift+D | Rename / close space |
|
||||
| W / Shift+B | Open / create worktree |
|
||||
| Y / E | Copy mode / open scrollback in Neovim |
|
||||
| Shift+G | Lazygit popup |
|
||||
| B | Toggle sidebar |
|
||||
| / | Keybinding help |
|
||||
| S / Shift+R | Settings / reload configuration |
|
||||
|
||||
Inside workspace navigation, U/I moves down/up and H/J/K/L retains pane navigation.
|
||||
Niri and Kitty bindings are unchanged. Syntax and action names were checked against
|
||||
the installed Herdr 0.9.0 default config and current upstream documentation.
|
||||
The user reports that the bindings work well in practice.
|
||||
Reload Herdr with its existing Ctrl+B then Shift+R binding after activating Nix.
|
||||
Verification: repository formatting, rendered TOML parsing, flake evaluation,
|
||||
Zenith no-link system build and whitespace checking passed. No tests or live Herdr
|
||||
session changes performed by the agent. The user's activation installed the Herdr
|
||||
config and preserved `config.toml.bak`, but Home Manager later timed out (below).
|
||||
Niri and Kitty bindings are unchanged. Direct number bindings are removed because
|
||||
the user finds them unergonomic; built-in prefix shortcuts remain available.
|
||||
|
||||
Use one space per project or worktree, tabs for different activities, and panes
|
||||
for tools needed together. Start Neovim in a shell, split right with Ctrl+Alt+V
|
||||
for an agent shell, and optionally split that pane down with Ctrl+Alt+Minus for
|
||||
tests or a server. Choose and launch the agent manually. No preset is installed.
|
||||
Ctrl+Alt+Shift+G opens lazygit at 90% width/height in the focused pane's working
|
||||
directory. Quit lazygit to return; the popup owns input until its command exits.
|
||||
|
||||
Tabs now open immediately with generated names; rename them only when useful.
|
||||
New spaces already skip naming, and new panes inherit the current directory by
|
||||
default. Workspace-close confirmation remains enabled to protect running work.
|
||||
Direct resizing, previous/next agent navigation, last-pane switching, copy mode,
|
||||
and Neovim scrollback access avoid extra navigation or mode-entry steps.
|
||||
No documented native setting or CLI action opens Goto directly in search mode;
|
||||
that limitation remains under the configuration-only constraint. No input macros,
|
||||
plugins, or package patches are added.
|
||||
|
||||
After activating Nix, reload Herdr with Ctrl+B then Shift+R; subsequent reloads
|
||||
can use Ctrl+Alt+Shift+R. The expanded shortcuts require interactive verification
|
||||
through Kitty, including popup working directory, pane swapping/resizing, and
|
||||
scrollback opening. The earlier bindings were reported working by the user.
|
||||
Verification (2026-09-10): formatting, flake evaluation, Polaris and Zenith no-link
|
||||
system builds, and whitespace checks passed. Both hosts generate identical Herdr
|
||||
TOML, accepted by installed Herdr 0.9.0's `config check`. No activation or live
|
||||
Herdr session changes were performed.
|
||||
The earlier activation installed the Herdr config and preserved `config.toml.bak`,
|
||||
but Home Manager later timed out (below).
|
||||
|
||||
Activation fix (2026-09-09): Home Manager's service switch stopped and restarted
|
||||
the running SharePoint oneshot, then waited until Home Manager's five-minute start
|
||||
|
||||
@@ -125,6 +125,7 @@ in
|
||||
|
||||
[ui]
|
||||
agent_panel_sort = "spaces"
|
||||
prompt_new_tab_name = false
|
||||
|
||||
[ui.toast]
|
||||
delivery = "off"
|
||||
@@ -141,7 +142,8 @@ in
|
||||
navigate_workspace_up = "i"
|
||||
workspace_picker = ["prefix+w", "ctrl+alt+o"]
|
||||
goto = ["prefix+g", "ctrl+alt+g"]
|
||||
focus_agent = "ctrl+alt+1..9"
|
||||
previous_agent = "ctrl+alt+p"
|
||||
next_agent = "ctrl+alt+n"
|
||||
previous_tab = ["prefix+p", "ctrl+alt+["]
|
||||
next_tab = ["prefix+n", "ctrl+alt+]"]
|
||||
new_tab = ["prefix+c", "ctrl+alt+enter"]
|
||||
@@ -149,6 +151,46 @@ in
|
||||
split_horizontal = ["prefix+minus", "ctrl+alt+minus"]
|
||||
zoom = ["prefix+z", "ctrl+alt+f"]
|
||||
detach = ["prefix+q", "ctrl+alt+q"]
|
||||
|
||||
swap_pane_left = ["prefix+shift+h", "ctrl+alt+shift+h"]
|
||||
swap_pane_down = ["prefix+shift+j", "ctrl+alt+shift+j"]
|
||||
swap_pane_up = ["prefix+shift+k", "ctrl+alt+shift+k"]
|
||||
swap_pane_right = ["prefix+shift+l", "ctrl+alt+shift+l"]
|
||||
resize_pane_left = "ctrl+alt+shift+left"
|
||||
resize_pane_down = "ctrl+alt+shift+down"
|
||||
resize_pane_up = "ctrl+alt+shift+up"
|
||||
resize_pane_right = "ctrl+alt+shift+right"
|
||||
resize_mode = ["prefix+r", "ctrl+alt+r"]
|
||||
cycle_pane_next = ["prefix+tab", "ctrl+alt+tab"]
|
||||
cycle_pane_previous = ["prefix+shift+tab", "ctrl+alt+shift+tab"]
|
||||
last_pane = "ctrl+alt+backspace"
|
||||
close_pane = ["prefix+x", "ctrl+alt+x"]
|
||||
rename_pane = ["prefix+shift+p", "ctrl+alt+shift+p"]
|
||||
copy_mode = ["prefix+[", "ctrl+alt+y"]
|
||||
edit_scrollback = ["prefix+e", "ctrl+alt+e"]
|
||||
|
||||
close_tab = ["prefix+shift+x", "ctrl+alt+shift+x"]
|
||||
rename_tab = ["prefix+shift+t", "ctrl+alt+shift+a"]
|
||||
move_tab_previous = "ctrl+alt+shift+["
|
||||
move_tab_next = "ctrl+alt+shift+]"
|
||||
new_workspace = ["prefix+shift+n", "ctrl+alt+shift+enter"]
|
||||
rename_workspace = ["prefix+shift+w", "ctrl+alt+shift+w"]
|
||||
close_workspace = ["prefix+shift+d", "ctrl+alt+shift+d"]
|
||||
open_worktree = "ctrl+alt+w"
|
||||
new_worktree = ["prefix+shift+g", "ctrl+alt+shift+b"]
|
||||
|
||||
toggle_sidebar = ["prefix+b", "ctrl+alt+b"]
|
||||
help = ["prefix+?", "ctrl+alt+slash"]
|
||||
settings = ["prefix+s", "ctrl+alt+s"]
|
||||
reload_config = ["prefix+shift+r", "ctrl+alt+shift+r"]
|
||||
|
||||
[[keys.command]]
|
||||
key = "ctrl+alt+shift+g"
|
||||
type = "popup"
|
||||
command = "lazygit"
|
||||
description = "Lazygit"
|
||||
width = "90%"
|
||||
height = "90%"
|
||||
'';
|
||||
|
||||
home.file.".codex/AGENTS.md".text = ''
|
||||
|
||||
Reference in new issue
Block a user