diff --git a/.chezmoiexternals/herdr.toml b/.chezmoiexternals/herdr.toml new file mode 100644 index 0000000..f3d18f8 --- /dev/null +++ b/.chezmoiexternals/herdr.toml @@ -0,0 +1,6 @@ +[".config/herdr"] + type = "git-repo" + url = "https://github.com/prdlk/herdr.git" + refreshPeriod = "168h" + [".config/herdr".pull] + args = ["--ff-only"] diff --git a/AGENTS.md b/AGENTS.md index 5019bf7..d7e4a83 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -39,6 +39,7 @@ Fresh clone: `git submodule update --init`. | `~/.config/tmux-palette` | prdlk/tmux-palette | `.chezmoiexternals/tmux-palette.toml` | | `~/.config/television` | prdlk/television | `.chezmoiexternals/television.toml` | | `~/.config/yazi` | prdlk/yazi | `.chezmoiexternals/yazi.toml` | +| `~/.config/herdr` | prdlk/herdr | `.chezmoiexternals/herdr.toml` (`plugins/github/` gitignored, runtime plugin checkouts) | | `~/.config/omarchy` | prdlk/omarchy | `.chezmoiexternals/omarchy.toml` (git themes/plugins live in its `extras.txt`, not this repo) | | `~/.config/noctalia` | prdlk/noctalia | `.chezmoiexternals/noctalia.toml` (desktop/laptop roles only; `plugins/` gitignored, holds tokens) | | `~/.omp` | prdlk/omp | `.chezmoiexternals/omp.toml` | diff --git a/docs/chezmoi/externals-and-ignore.mdx b/docs/chezmoi/externals-and-ignore.mdx index 025a155..81aef04 100644 --- a/docs/chezmoi/externals-and-ignore.mdx +++ b/docs/chezmoi/externals-and-ignore.mdx @@ -60,6 +60,7 @@ Per-app config repos, one file each in `.chezmoiexternals/.toml`. Each is a | `yazi.toml` | `~/.config/yazi` | [prdlk/yazi](https://github.com/prdlk/yazi) | | `kitty.toml` | `~/.config/kitty` | [prdlk/kitty](https://github.com/prdlk/kitty) | | `ghostty.toml` | `~/.config/ghostty` | [prdlk/ghostty](https://github.com/prdlk/ghostty) | +| `herdr.toml` | `~/.config/herdr` | [prdlk/herdr](https://github.com/prdlk/herdr) — `plugins/github/` (runtime plugin checkouts) is gitignored there | | `omarchy.toml` | `~/.config/omarchy` | [prdlk/omarchy](https://github.com/prdlk/omarchy) — `shell.json`, hooks, menu extensions, themed templates; git-installed themes/plugins are gitignored there and restored by its `install-extras` script, `calendars.json` is never committed | | `noctalia.toml` | `~/.config/noctalia` | [prdlk/noctalia](https://github.com/prdlk/noctalia) — hand-written `config.toml` (shell, screenshot folder, theme, plugins, night light, notifications, OSD, wallpaper), `bar.toml` (bar layout, per-monitor overrides, widgets), and `palettes/` (custom palette JSON); merged under the GUI's unmanaged `~/.local/state/noctalia/settings.toml`, which wins on conflicts; `plugins/` holds runtime state with embedded tokens and is gitignored there. Linux desktop/laptop roles only ([role gate](#chezmoiignore)) | diff --git a/docs/chezmoi/index.mdx b/docs/chezmoi/index.mdx index 95f3d8b..df22f8f 100644 --- a/docs/chezmoi/index.mdx +++ b/docs/chezmoi/index.mdx @@ -55,7 +55,6 @@ The repo is a [chezmoi](https://chezmoi.io) source directory. It lives at `~/.lo - gh/ - gh-dash/ - ghostty/ - - herdr/ - herdr-nvim/ - hunk/ - hypr/ @@ -107,7 +106,7 @@ chezmoi encodes target names and attributes in source file names. These are the | `private_` | Target has group/world permissions cleared (`0600`/`0700`) | `dot_config/atuin/private_config.toml`, `dot_config/gh/private_config.yml`, `dot_config/hunk/private_state.json` | | `executable_` | Target gets the executable bit | 44 files: every script in `dot_local/bin/` (including `executable_tmux-niri-title`) and `dot_config/niri/scripts/` | | `exact_` | Directory is exact: entries in the target that are not in the source are deleted | `dot_config/niri/exact_config.d/` (numbered `10-…kdl` through `95-…kdl` fragments) | -| `empty_` | File is kept even when empty | `dot_config/herdr/empty_dot_plugins.lock` | +| `empty_` | File is kept even when empty | None currently | | `symlink_` | Target is a symlink; file content is the link destination | None currently | | `.tmpl` | Rendered with Go templates and chezmoi data | `dot_gitconfig.tmpl`, `dot_config/shell/aliases.sh.tmpl`, all scripts, the config and ignore files | | `run_once_` / `run_onchange_` + `before_` / `after_` | Script, with run frequency and phase | See [Apply scripts](/chezmoi/scripts) | diff --git a/docs/terminal/ghostty.mdx b/docs/terminal/ghostty.mdx index b378456..9d5145d 100644 --- a/docs/terminal/ghostty.mdx +++ b/docs/terminal/ghostty.mdx @@ -31,6 +31,7 @@ It is the default everywhere a desktop picks a terminal: `$TERMINAL` in the [Umb | `mouse-hide-while-typing` | `true` | | `copy-on-select` | `false` | | `confirm-close-surface` | `false` | +| `link-url` / `link-previews` | `true` / `true`. Under tmux (`mouse on`) tmux receives the click, so open links with `ctrl+shift+click`; tmux opens OSC 8 links on a plain `ctrl+click` | | `app-notifications` | `no-clipboard-copy,no-config-reload` | | `quit-after-last-window-closed` | `false`, delay `5m` | | `command` | `shell:$HOME/.local/bin/ghostty-tmux` (see [Sessions](#sessions)) | diff --git a/docs/terminal/herdr.mdx b/docs/terminal/herdr.mdx index 0615c46..b11f2df 100644 --- a/docs/terminal/herdr.mdx +++ b/docs/terminal/herdr.mdx @@ -7,7 +7,7 @@ herdr is a terminal multiplexer with workspaces, tabs and panes, a sidebar, a pr | | | | --- | --- | -| Source | `dot_config/herdr/config.toml`, `dot_config/herdr/plugins.json`, `dot_config/herdr/plugins/config/`, `dot_config/herdr/empty_dot_plugins.lock`, `dot_config/herdr/kitty.conf`, `dot_config/herdr-nvim/config.toml` | +| Source | [prdlk/herdr](https://github.com/prdlk/herdr) via `.chezmoiexternals/herdr.toml` (`~/.config/herdr/`); `dot_config/herdr-nvim/config.toml` | | Target | `~/.config/herdr/`, `~/.config/herdr-nvim/config.toml` | | Install | Not in `packages.yaml`; updated by topgrade (`herdr update`) | | Launch | kitty `super+a` (see [kitty](/terminal/kitty)) | @@ -60,7 +60,7 @@ These are cyberdream colors. ## Plugins -`plugins.json` is herdr's plugin registry. `.plugins.lock` is created empty. `plugins/config/official.browser/` and `plugins/config/vim-herdr-navigation/` hold placeholder `.keep` files for per-plugin config. +`plugins.json` is herdr's plugin registry. `.plugins.lock` is committed empty. `plugins/config/official.browser/` and `plugins/config/vim-herdr-navigation/` hold placeholder `.keep` files for per-plugin config. `plugins/github/`, where herdr installs plugin checkouts, is gitignored in the repo. | Plugin | Description (from its manifest) | | --- | --- | diff --git a/docs/terminal/index.mdx b/docs/terminal/index.mdx index 7f5d8f4..5199f91 100644 --- a/docs/terminal/index.mdx +++ b/docs/terminal/index.mdx @@ -12,7 +12,7 @@ kitty is the primary terminal. It runs in three modes: plain kitty (kitty owns s | [kitty](/terminal/kitty) | external repo via `.chezmoiexternals/kitty.toml` | Main config, host configs (tmux, herdr, goliath), kittens, custom tab bar | | [Ghostty](/terminal/ghostty) | external repo via `.chezmoiexternals/ghostty.toml` | tmux-only terminal: ctrl+shift chords → tmux, themes | | [tmux](/terminal/tmux) | external repo via `.chezmoiexternals/tmux.toml` | Prefix, bindings, kitty-style tabs with Nerd Font icons, resurrect/continuum persistence, Niri titles | -| [herdr](/terminal/herdr) | `dot_config/herdr/`, `dot_config/herdr-nvim/` | Agent-aware multiplexer: keys, theme, plugins, Claude hook | +| [herdr](/terminal/herdr) | external repo via `.chezmoiexternals/herdr.toml`, plus `dot_config/herdr-nvim/` | Agent-aware multiplexer: keys, theme, plugins, Claude hook | ## Shared conventions diff --git a/docs/terminal/kitty.mdx b/docs/terminal/kitty.mdx index 1430538..2fa0285 100644 --- a/docs/terminal/kitty.mdx +++ b/docs/terminal/kitty.mdx @@ -42,7 +42,7 @@ Every config ends with: include ~/.local/state/omarchy/current/theme/kitty.conf ``` -Colors come from the active Omarchy theme; it is included last so it wins. `current-theme.conf` is a symlink committed in the repo, pointing at `themes/cyberdream.conf`. Only the legacy `dot_config/herdr/kitty.conf` includes `current-theme.conf`; the main config does not. `themes/` holds `cyberdream`, `koda-dark`, and `koda-light` color files. +Colors come from the active Omarchy theme; it is included last so it wins. `current-theme.conf` is a symlink committed in the repo, pointing at `themes/cyberdream.conf`. Only the legacy `~/.config/herdr/kitty.conf` ([prdlk/herdr](https://github.com/prdlk/herdr)) includes `current-theme.conf`; the main config does not. `themes/` holds `cyberdream`, `koda-dark`, and `koda-light` color files. ## kitty.conf diff --git a/docs/terminal/tmux.mdx b/docs/terminal/tmux.mdx index eb4e01e..7c68ab7 100644 --- a/docs/terminal/tmux.mdx +++ b/docs/terminal/tmux.mdx @@ -19,7 +19,7 @@ The prefix is `ctrl+b` (the byte Ghostty's `ctrl+shift` chords send). `ctrl+spac | Option | Value | | --- | --- | -| `default-terminal` | `tmux-256color`; `RGB` override for every terminal; `clipboard` feature; `extkeys` for xterm-kitty | +| `default-terminal` | `tmux-256color`; `RGB` override for every terminal; `clipboard` and `hyperlinks` (OSC 8) features; `extkeys` for xterm-kitty. Features apply after `tmux kill-server` | | `extended-keys` | `on`, format `csi-u` | | `base-index` / `pane-base-index` | `1` / `1`; `renumber-windows on` | | `status-position` | `top`, `status-interval 5` | @@ -49,6 +49,7 @@ These settings are what [yazi](/tools/yazi) needs inside tmux. `allow-passthroug | `prefix h` / `prefix v` | Split below / right, pane cwd | | `prefix x` | Kill pane | | `S-Enter` (no prefix) | Sends `ESC[13;2u` to the pane unchanged. With `extended-keys on`, tmux would otherwise turn Shift+Enter into plain Enter for apps that never requested extended keys, and coding agents (omp, Claude Code) would submit instead of inserting a newline | +| `C-MouseDown1Pane` (ctrl+click) | Opens the OSC 8 hyperlink under the mouse (`#{mouse_hyperlink}`) with `xdg-open` (`open` on macOS); without one, the click goes to the pane. Plain-text URLs: `ctrl+shift+click`, handled by Ghostty | | `M-Enter` / `M-S-Enter` / `M-Escape` (no prefix) | Split below / split right / kill pane | | `C-h` / `C-j` / `C-k` / `C-l` (no prefix) | Vim-aware pane focus. In an nvim/vim/fzf pane (`@pane-is-vim`, set by smart-splits, or the pane's command), the key goes to nvim. nvim's `config.pane_nav` moves between its own splits and, at its outer edge, runs `tmux select-pane -t $TMUX_PANE`. Elsewhere tmux moves directly. Also bound in copy mode | | `prefix C-l` | Send `C-l` (clear screen) | diff --git a/dot_config/fish b/dot_config/fish index e62dd44..87d8aa0 160000 --- a/dot_config/fish +++ b/dot_config/fish @@ -1 +1 @@ -Subproject commit e62dd44fb28bb6745f926c3291ea7fce89679af3 +Subproject commit 87d8aa0e9c7096d30f8f4972e041f2aaa3d092c5 diff --git a/dot_config/herdr/config.toml b/dot_config/herdr/config.toml deleted file mode 100644 index a9c035b..0000000 --- a/dot_config/herdr/config.toml +++ /dev/null @@ -1,154 +0,0 @@ -onboarding = false - -[ui] -# Borderless, like the compositor: panes are told apart by the gap between them -# and by the terminal background, not by a drawn frame. Hyprland already puts a -# gradient border around the window; a second frame inside it is noise. -pane_borders = false -pane_outer_borders = false -prompt_new_tab_name = false -accent = "#5ea1ff" - -status_indicators = "symbols" -[theme] -name = "terminal" -auto_switch = false - -[theme.custom] -# Panes keep the terminal's own background, so kitty's translucency, and the -# Hyprland blur under it, survive inside herdr. -panel_bg = "reset" - -# Surfaces: bg for the spaces rail, bg_alt for the row under the cursor, -# bg_highlight for selection — the same three-step ramp as the rest of the theme. -sidebar_bg = "#16181a" -active_row_bg = "#1e2124" -selection_bg = "#3c4048" - -# `accent` fills the active tab and `surface_dim` writes its label, so the pair -# is set to the same plate kitty's tab bar uses: the accent mixed 20% into the -# background, with the accent itself for the title. A raw #5ea1ff fill would put -# a neon block above the panes and swallow the label. -accent = "#243348" -surface_dim = "#5ea1ff" - -# Agent-state marks. -green = "#5eff6c" -yellow = "#f1ff5e" -red = "#ff6e5e" -peach = "#ffbd5e" -mauve = "#bd5eff" - -[ui.toast] -delivery = "system" - -[keys] -# tmux-style bindings (prefix is the leader, default ctrl+b) -split_vertical = "prefix+%" -split_horizontal = 'prefix+"' -detach = "prefix+d" - -# leader+s opens the workspace ("spaces") picker (settings moves off prefix+s to make room) -workspace_picker = "prefix+s" -settings = "prefix+shift+s" - -# vim-style j/k move the selection up/down inside the spaces picker -# (frees pane up/down in navigate mode; use arrows or ctrl+b j/k for pane focus) -navigate_workspace_up = "k" -navigate_workspace_down = "j" -navigate_pane_up = "" -navigate_pane_down = "" - -# leader+. / leader+, step to the next / previous agent in the panel -next_agent = "prefix+." -previous_agent = "prefix+," - -# leader+j / leader+k cycle next / previous workspace (driven by ghostty -# ctrl+shift+j/k). Frees prefix+j/k from pane focus, which moves to arrows; -# directional pane movement is also on ctrl+hjkl via vim-herdr-navigation. -next_workspace = "prefix+j" -previous_workspace = "prefix+k" -focus_pane_up = "prefix+up" -focus_pane_down = "prefix+down" -focus_pane_left = "prefix+left" -focus_pane_right = "prefix+right" - -# leader+a focuses the agent panel for keyboard browsing -# (j/k to move, enter to jump, esc to leave) — needs the rebuilt binary - -[experimental] -pane_history = false -kitty_graphics = true - -switch_ascii_input_source_in_prefix = true -[[keys.command]] -key = "ctrl+h" -type = "plugin_action" -command = "vim-herdr-navigation.left" -description = "navigate left (vim/herdr)" - -[[keys.command]] -key = "ctrl+j" -type = "plugin_action" -command = "vim-herdr-navigation.down" -description = "navigate down (vim/herdr)" - -[[keys.command]] -key = "ctrl+k" -type = "plugin_action" -command = "vim-herdr-navigation.up" -description = "navigate up (vim/herdr)" - -[[keys.command]] -key = "ctrl+l" -type = "plugin_action" -command = "vim-herdr-navigation.right" -description = "navigate right (vim/herdr)" - -[[keys.command]] -key = "prefix+e" -type = "plugin_action" -command = "chmarax.herdr-nvim.toggle" -description = "nvim sidebar (left of current panes; see ~/.config/herdr-nvim/config.toml)" - -[[keys.command]] -key = "prefix+o" -type = "plugin_action" -command = "chmarax.herdr-nvim.pick-file" -description = "open file from agent output" - -[[keys.command]] -key = "prefix+t" -type = "plugin_action" -command = "switchboard.menu" -description = "Switchboard menu" - -[[keys.command]] -key = "prefix+shift+p" -type = "plugin_action" -command = "switchboard.commands" -description = "Switchboard commands" - -[[keys.command]] -key = "prefix+shift+l" -type = "plugin_action" -command = "switchboard.git" -description = "Switchboard git" - -[[keys.command]] -key = "prefix+shift+k" -type = "plugin_action" -command = "switchboard.projects" -description = "Switchboard projects" - -[[keys.command]] -key = "prefix+y" -type = "shell" -command = '"${HERDR_BIN_PATH}" plugin pane open --plugin official.browser --entrypoint browser --placement split --direction right --focus' -description = "open browser in right split" - -[[keys.command]] -key = "prefix+shift+o" -type = "shell" -command = '"${HERDR_BIN_PATH}" plugin pane open --plugin official.browser --entrypoint browser --placement overlay --focus' -description = "open browser overlay" diff --git a/dot_config/herdr/config.toml.bak b/dot_config/herdr/config.toml.bak deleted file mode 100644 index e6e4a1f..0000000 --- a/dot_config/herdr/config.toml.bak +++ /dev/null @@ -1,124 +0,0 @@ -onboarding = false - -[ui.toast] -delivery = "system" - -[ui] - -show_agent_labels_on_pane_borders = true -agent_panel_sort = "priority" - -[keys] -# tmux-style bindings (prefix is the leader, default ctrl+b) -split_vertical = "prefix+%" -split_horizontal = 'prefix+"' -detach = "prefix+d" - -# leader+s opens the workspace ("spaces") picker (settings moves off prefix+s to make room) -workspace_picker = "prefix+s" -settings = "prefix+shift+s" - -# vim-style j/k move the selection up/down inside the spaces picker -# (frees pane up/down in navigate mode; use arrows or ctrl+b j/k for pane focus) -navigate_workspace_up = "k" -navigate_workspace_down = "j" -navigate_pane_up = "" -navigate_pane_down = "" - -# leader+. / leader+, step to the next / previous agent in the panel -next_agent = "prefix+." -previous_agent = "prefix+," - -# leader+j / leader+k cycle next / previous workspace (driven by ghostty -# ctrl+shift+j/k). Frees prefix+j/k from pane focus, which moves to arrows; -# directional pane movement is also on ctrl+hjkl via vim-herdr-navigation. -next_workspace = "prefix+j" -previous_workspace = "prefix+k" -focus_pane_up = "prefix+up" -focus_pane_down = "prefix+down" -focus_pane_left = "prefix+left" -focus_pane_right = "prefix+right" - -# leader+a focuses the agent panel for keyboard browsing -# (j/k to move, enter to jump, esc to leave) — needs the rebuilt binary - -[experimental] -pane_history = false -kitty_graphics = true - -switch_ascii_input_source_in_prefix = true -[theme] -name = "terminal" -auto_switch = false - -[[keys.command]] -key = "ctrl+h" -type = "plugin_action" -command = "vim-herdr-navigation.left" -description = "navigate left (vim/herdr)" - -[[keys.command]] -key = "ctrl+j" -type = "plugin_action" -command = "vim-herdr-navigation.down" -description = "navigate down (vim/herdr)" - -[[keys.command]] -key = "ctrl+k" -type = "plugin_action" -command = "vim-herdr-navigation.up" -description = "navigate up (vim/herdr)" - -[[keys.command]] -key = "ctrl+l" -type = "plugin_action" -command = "vim-herdr-navigation.right" -description = "navigate right (vim/herdr)" - -[[keys.command]] -key = "prefix+e" -type = "plugin_action" -command = "chmarax.herdr-nvim.toggle" -description = "nvim sidebar" - -[[keys.command]] -key = "prefix+o" -type = "plugin_action" -command = "chmarax.herdr-nvim.pick-file" -description = "open file from agent output" - -[[keys.command]] -key = "prefix+t" -type = "plugin_action" -command = "switchboard.menu" -description = "Switchboard menu" - -[[keys.command]] -key = "prefix+shift+p" -type = "plugin_action" -command = "switchboard.commands" -description = "Switchboard commands" - -[[keys.command]] -key = "prefix+shift+l" -type = "plugin_action" -command = "switchboard.git" -description = "Switchboard git" - -[[keys.command]] -key = "prefix+shift+k" -type = "plugin_action" -command = "switchboard.projects" -description = "Switchboard projects" - -[[keys.command]] -key = "prefix+y" -type = "shell" -command = '"${HERDR_BIN_PATH}" plugin pane open --plugin official.browser --entrypoint browser --placement split --direction right --focus' -description = "open browser in right split" - -[[keys.command]] -key = "prefix+shift+o" -type = "shell" -command = '"${HERDR_BIN_PATH}" plugin pane open --plugin official.browser --entrypoint browser --placement overlay --focus' -description = "open browser overlay" diff --git a/dot_config/herdr/empty_dot_plugins.lock b/dot_config/herdr/empty_dot_plugins.lock deleted file mode 100644 index e69de29..0000000 diff --git a/dot_config/herdr/kitty.conf b/dot_config/herdr/kitty.conf deleted file mode 100644 index 61c27a0..0000000 --- a/dot_config/herdr/kitty.conf +++ /dev/null @@ -1,134 +0,0 @@ -# Font Configuration -font_size 11 -font_family VictorMono Nerd Font -bold_italic_font auto -shell_integration enabled -# Control -allow_remote_control yes -listen_on unix:@mykitty -# Shell — every kitty OS window attaches to the shared tmux session -shell tmux new-session -A -s main -# Window Configuration -window_padding_width 12 -background_opacity 0.9 -hide_window_decorations yes -# Layouts now handled by tmux; keep fat available for any non-tmux use -enabled_layouts fat:bias=75;full_size=1;mirrored=false -# Cursor Configuration -cursor_blink_interval 1 -# Scrollback (tmux owns scrollback in-session; this covers anything outside it) -scrollback_lines 3000 -# Terminal features -copy_on_select auto -strip_trailing_spaces smart -# ── Key bindings → forwarded to tmux (prefix C-b = \x02) ──────────────── -# send_text triggers the exact bind-keys in tmux.conf, in-session. -# Panes (kitty "windows" → tmux panes) -map super+w send_text all \x02x -map super+t send_text all \x02% -map super+n send_text all \x02" -# Clipboard (kitty-native) -map super+c copy_to_clipboard -map super+v paste_from_clipboard -map ctrl+v paste_from_clipboard -# Tabs (kitty "tabs" → tmux windows; your bind-key t/H/L) -map alt+h send_text all \x02H -map alt+l send_text all \x02L -map super+enter send_text all \x02t -# Pane navigation: pass ctrl+hjkl through to tmux/nvim -# (pass_keys.py kitten removed — vim-tmux-navigator replaces it) -# Pane resizing (prefix + ctrl+arrow = tmux default resize) -map super+left send_text all \x02\x1b[1;5D -map super+right send_text all \x02\x1b[1;5C -map super+up send_text all \x02\x1b[1;5A -map super+down send_text all \x02\x1b[1;5B - -# Direct window jumps (tmux prefix+N) -map alt+q send_text all \x021 -map alt+w send_text all \x022 -map alt+e send_text all \x023 -map alt+r send_text all \x024 -map alt+t send_text all \x025 -map alt+y send_text all \x026 -map alt+u send_text all \x027 -map alt+i send_text all \x028 -map alt+o send_text all \x029 -# Session controls -map super+d send_text all \x02d -map super+s send_text all \x02s -map super+z send_text all \x02z -# ── Tab bar: hidden — tmux-dotbar owns the status UI ──────────────────── -tab_bar_style hidden -# BEGIN_KITTY_THEME -# cyberdream (current-theme.conf → themes/cyberdream.conf) -include current-theme.conf -# END_KITTY_THEME -# -active_opacity 0.9 - - -# ── Plugins ────────────────────────────────────────────────────────────── -set -g @plugin 'tmux-plugins/tpm' -set -g @plugin 'tmux-plugins/tmux-sensible' -set -g @plugin 'vaaleyard/tmux-dotbar' -set -g @plugin 'joshmedeski/tmux-nerd-font-window-name' -set -g @plugin 'omerxx/tmux-sessionx' -# ── Kitty compatibility ────────────────────────────────────────────────── -set -g default-terminal "tmux-256color" -set -ga terminal-overrides ",xterm-kitty:Tc" -set -as terminal-features ",xterm-kitty:RGB:usstyle:hyperlinks:clipboard:extkeys" -set -s extended-keys on # kitty keyboard protocol → nvim -# Kitty graphics protocol passthrough (yazi / image preview) -set -g allow-passthrough on -set -ga update-environment TERM -set -ga update-environment TERM_PROGRAM -# ── Clipboard (Wayland / Niri) ─────────────────────────────────────────── -set -g set-clipboard on # OSC 52 — covers ssh'd sessions -set -g mouse on -setw -g mode-keys vi -bind -T copy-mode-vi v send -X begin-selection -bind -T copy-mode-vi y send -X copy-pipe-and-cancel "wl-copy" -bind -T copy-mode-vi Y send -X copy-pipe-and-cancel "wl-copy" \; send -X cancel -bind -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel "wl-copy" -# ── Titles → Niri active window ────────────────────────────────────────── -set -g set-titles on -set -g set-titles-string "#S › #{pane_current_command} · #{b:pane_current_path}" -setw -g automatic-rename on -set -g automatic-rename-format "#{window_icon} #{b:pane_current_path}" -# ── QoL ────────────────────────────────────────────────────────────────── -set -g history-limit 50000 -set -g base-index 1 -setw -g pane-base-index 1 -set -g renumber-windows on -# ── Keybinds ───────────────────────────────────────────────────────────── -bind-key t new-window -c "#{pane_current_path}" -bind-key [ previous-window -bind-key ] next-window -bind-key H previous-window -bind-key L next-window -# Splits inherit cwd (kitty super+t / super+n land here) -# vsplit: new pane right at 35% width · hsplit: new pane below at 25% height -bind % split-window -h -l 30% -c "#{pane_current_path}" -bind '"' split-window -v -l 25% -c "#{pane_current_path}" -# Copy-mode entry (default prefix+[ is rebound above) -bind Escape copy-mode -# ── Pane navigation: ctrl+hjkl, no prefix ──────────────────────────────── -# Vim-aware: if the pane runs (n)vim, forward the key so vim handles its -# own window movement (pair with vim-tmux-navigator in AstroNvim). -is_vim="ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?n?vim?x?|fzf)(diff)?$'" -bind -n C-h if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' -bind -n C-j if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' -bind -n C-k if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' -bind -n C-l if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' -# Same nav from inside copy-mode -bind -T copy-mode-vi C-h select-pane -L -bind -T copy-mode-vi C-j select-pane -D -bind -T copy-mode-vi C-k select-pane -U -bind -T copy-mode-vi C-l select-pane -R -# Clear-screen escape hatch (C-l is consumed above) -bind C-l send-keys C-l -# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) -run '~/.tmux/plugins/tpm/tpm' - - -Lets synchronize the Mod+H and Mod+L from niri to work with the tmux window bindings for optimized key productivity diff --git a/dot_config/herdr/plugins.json b/dot_config/herdr/plugins.json deleted file mode 100644 index 2d2e46e..0000000 --- a/dot_config/herdr/plugins.json +++ /dev/null @@ -1,1005 +0,0 @@ -[ - { - "plugin_id": "chmarax.herdr-nvim", - "name": "herdr-nvim", - "version": "0.1.1", - "min_herdr_version": "0.7.4", - "description": "Full-height nvim sidebar with agent annotations: toggle with one key, comment code, send to any agent.", - "manifest_path": "/home/prad/.config/herdr/plugins/github/chmarax.herdr-nvim-178624809c23/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/herdr/plugins/github/chmarax.herdr-nvim-178624809c23", - "enabled": true, - "platforms": [ - "macos", - "linux" - ], - "build": [ - { - "command": [ - "bash", - "herdr/install.sh" - ] - } - ], - "actions": [ - { - "id": "open-link", - "title": "nvim sidebar: open clicked file", - "command": [ - "sh", - "-c", - "exec sh \"$HERDR_PLUGIN_ROOT/herdr/run.sh\" open-link" - ] - }, - { - "id": "pick-file", - "title": "nvim sidebar: open file from agent output", - "contexts": [ - "pane" - ], - "command": [ - "sh", - "-c", - "exec sh \"$HERDR_PLUGIN_ROOT/herdr/run.sh\" pick-file" - ] - }, - { - "id": "toggle", - "title": "nvim sidebar: toggle", - "contexts": [ - "pane", - "workspace" - ], - "command": [ - "sh", - "-c", - "exec sh \"$HERDR_PLUGIN_ROOT/herdr/run.sh\" toggle" - ] - } - ], - "panes": [ - { - "id": "picker", - "title": "open file", - "placement": "popup", - "command": [ - "sh", - "-c", - "exec sh \"$HERDR_PLUGIN_ROOT/herdr/run.sh\" picker" - ] - } - ], - "link_handlers": [ - { - "id": "file-path", - "title": "Open in nvim sidebar", - "pattern": "^~?[\\w.@/()\\[\\]+-]+/[\\w.@()\\[\\]+-]+\\.[A-Za-z]\\w*(?::\\d+){0,2}$", - "action": "open-link" - }, - { - "id": "file-url", - "title": "Open in nvim sidebar", - "pattern": "^file://", - "action": "open-link" - } - ], - "source": { - "kind": "github", - "owner": "ChmaraX", - "repo": "herdr-nvim", - "requested_ref": "40aadeab3cef3702ef5e05069181c7168084794f", - "resolved_commit": "40aadeab3cef3702ef5e05069181c7168084794f", - "managed_path": "/home/prad/.config/herdr/plugins/github/chmarax.herdr-nvim-178624809c23", - "installed_unix_ms": 1788185347514 - } - }, - { - "plugin_id": "herdr-automatic-rename", - "name": "Herdr Automatic Rename", - "version": "0.7.3", - "min_herdr_version": "0.7.1", - "description": "Auto-name tabs after the foreground program and/or prefix workspaces, tabs, and agents with their 1-9 jump-key number. Each feature toggles via config.sh.", - "manifest_path": "/home/prad/.config/herdr/plugins/github/herdr-automatic-rename-db02a35e1e35/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/herdr/plugins/github/herdr-automatic-rename-db02a35e1e35", - "enabled": true, - "platforms": [ - "linux", - "macos" - ], - "startup": [ - { - "command": [ - "bash", - "automatic-rename.sh", - "startup" - ] - } - ], - "actions": [ - { - "id": "clear", - "title": "Herdr Automatic Rename: strip all number prefixes", - "contexts": [ - "global" - ], - "command": [ - "bash", - "automatic-rename.sh", - "--clear" - ] - }, - { - "id": "reset", - "title": "Reset tab to automatic naming", - "contexts": [ - "global" - ], - "command": [ - "bash", - "automatic-rename.sh", - "reset" - ] - } - ], - "events": [ - { - "on": "pane.agent_detected", - "command": [ - "bash", - "automatic-rename.sh", - "pane.agent_detected" - ] - }, - { - "on": "pane.agent_status_changed", - "command": [ - "bash", - "automatic-rename.sh", - "pane.agent_status_changed" - ] - }, - { - "on": "pane.closed", - "command": [ - "bash", - "automatic-rename.sh", - "pane.closed" - ] - }, - { - "on": "pane.created", - "command": [ - "bash", - "automatic-rename.sh", - "pane.created" - ] - }, - { - "on": "pane.exited", - "command": [ - "bash", - "automatic-rename.sh", - "pane.exited" - ] - }, - { - "on": "pane.focused", - "command": [ - "bash", - "automatic-rename.sh", - "pane.focused" - ] - }, - { - "on": "pane.moved", - "command": [ - "bash", - "automatic-rename.sh", - "pane.moved" - ] - }, - { - "on": "tab.closed", - "command": [ - "bash", - "automatic-rename.sh", - "tab.closed" - ] - }, - { - "on": "tab.created", - "command": [ - "bash", - "automatic-rename.sh", - "tab.created" - ] - }, - { - "on": "tab.focused", - "command": [ - "bash", - "automatic-rename.sh", - "tab.focused" - ] - }, - { - "on": "tab.moved", - "command": [ - "bash", - "automatic-rename.sh", - "tab.moved" - ] - }, - { - "on": "tab.renamed", - "command": [ - "bash", - "automatic-rename.sh", - "tab.renamed" - ] - }, - { - "on": "workspace.closed", - "command": [ - "bash", - "automatic-rename.sh", - "workspace.closed" - ] - }, - { - "on": "workspace.created", - "command": [ - "bash", - "automatic-rename.sh", - "workspace.created" - ] - }, - { - "on": "workspace.moved", - "command": [ - "bash", - "automatic-rename.sh", - "workspace.moved" - ] - }, - { - "on": "workspace.renamed", - "command": [ - "bash", - "automatic-rename.sh", - "workspace.renamed" - ] - }, - { - "on": "workspace.reordered", - "command": [ - "bash", - "automatic-rename.sh", - "workspace.reordered" - ] - }, - { - "on": "worktree.created", - "command": [ - "bash", - "automatic-rename.sh", - "worktree.created" - ] - }, - { - "on": "worktree.opened", - "command": [ - "bash", - "automatic-rename.sh", - "worktree.opened" - ] - }, - { - "on": "worktree.removed", - "command": [ - "bash", - "automatic-rename.sh", - "worktree.removed" - ] - } - ], - "source": { - "kind": "github", - "owner": "qu8n", - "repo": "herdr-automatic-rename", - "resolved_commit": "11cbee3aa54ea3a507550e4f58a2727de2b119eb", - "managed_path": "/home/prad/.config/herdr/plugins/github/herdr-automatic-rename-db02a35e1e35", - "installed_unix_ms": 1788185927457 - } - }, - { - "plugin_id": "io.github.salemsayed.omaherd", - "name": "Omaherd", - "version": "0.6.5", - "min_herdr_version": "0.7.0", - "description": "Tells the Omarchy bar the moment an agent changes state.", - "manifest_path": "/home/prad/.config/omarchy/plugins/io.github.salemsayed.omaherd/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/omarchy/plugins/io.github.salemsayed.omaherd", - "enabled": true, - "platforms": [ - "linux" - ], - "events": [ - { - "on": "pane.agent_detected", - "command": [ - "./omaherd-hook" - ] - }, - { - "on": "pane.agent_status_changed", - "command": [ - "./omaherd-hook" - ] - }, - { - "on": "pane.closed", - "command": [ - "./omaherd-hook" - ] - } - ], - "source": { - "kind": "local" - } - }, - { - "plugin_id": "official.browser", - "name": "Browser", - "version": "0.1.0", - "min_herdr_version": "0.7.4", - "description": "Open and inspect real browser pages from Herdr.", - "manifest_path": "/home/prad/.config/herdr/plugins/github/official.browser-ff2a44eccae9/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/herdr/plugins/github/official.browser-ff2a44eccae9", - "enabled": true, - "platforms": [ - "linux", - "macos" - ], - "actions": [ - { - "id": "open-localhost", - "title": "Open localhost in browser", - "contexts": [ - "workspace" - ], - "command": [ - "bun", - "run", - "src/actions/open-localhost.ts" - ] - }, - { - "id": "status", - "title": "Browser status", - "contexts": [ - "workspace" - ], - "command": [ - "bun", - "run", - "src/actions/status.ts" - ] - } - ], - "panes": [ - { - "id": "browser", - "title": "Browser", - "placement": "split", - "command": [ - "bun", - "run", - "src/viewer.ts" - ] - } - ], - "link_handlers": [ - { - "id": "localhost", - "title": "Open in Herdr Browser", - "pattern": "^https?://(localhost|127\\.0\\.0\\.1|\\[::1\\])(:[0-9]+)?([/?#].*)?$", - "action": "open-localhost" - } - ], - "source": { - "kind": "github", - "owner": "ogulcancelik", - "repo": "herdr-browser", - "requested_ref": "be6888b71cf4eb5939ee79a746bd1a1c22ade046", - "resolved_commit": "be6888b71cf4eb5939ee79a746bd1a1c22ade046", - "managed_path": "/home/prad/.config/herdr/plugins/github/official.browser-ff2a44eccae9", - "installed_unix_ms": 1788185376536 - } - }, - { - "plugin_id": "oh-my-opencode-slim", - "name": "oh-my-opencode-slim", - "version": "2.2.14", - "min_herdr_version": "0.8.0", - "description": "OpenCode agent orchestration plugin with a Herdr multiplexer adapter", - "manifest_path": "/home/prad/.config/herdr/plugins/github/oh-my-opencode-slim-023b9f29d9fc/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/herdr/plugins/github/oh-my-opencode-slim-023b9f29d9fc", - "enabled": true, - "platforms": [ - "linux", - "macos", - "windows" - ], - "source": { - "kind": "github", - "owner": "alvinunreal", - "repo": "oh-my-opencode-slim", - "requested_ref": "220eb2be677cb739f795b97a62909110e04ebfc5", - "resolved_commit": "220eb2be677cb739f795b97a62909110e04ebfc5", - "managed_path": "/home/prad/.config/herdr/plugins/github/oh-my-opencode-slim-023b9f29d9fc", - "installed_unix_ms": 1788185387698 - } - }, - { - "plugin_id": "persiyanov.reviewr", - "name": "reviewr", - "version": "0.30.1", - "min_herdr_version": "0.7.5", - "description": "Review agent-written diffs beside the chat and add line comments to the agent input.", - "manifest_path": "/home/prad/.config/herdr/plugins/github/persiyanov.reviewr-e87b654a74f8/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/herdr/plugins/github/persiyanov.reviewr-e87b654a74f8", - "enabled": true, - "platforms": [ - "macos", - "linux" - ], - "build": [ - { - "command": [ - "bash", - "herdr/install.sh" - ] - } - ], - "actions": [ - { - "id": "close", - "title": "reviewr: close pane", - "contexts": [ - "pane", - "workspace" - ], - "command": [ - "bash", - "herdr/pane.sh", - "close" - ] - }, - { - "id": "open", - "title": "reviewr: open pane", - "contexts": [ - "pane", - "workspace" - ], - "command": [ - "bash", - "herdr/pane.sh", - "open" - ] - }, - { - "id": "toggle", - "title": "reviewr: toggle pane", - "contexts": [ - "pane", - "workspace" - ], - "command": [ - "bash", - "herdr/pane.sh", - "toggle" - ] - } - ], - "events": [ - { - "on": "worktree.created", - "command": [ - "bash", - "herdr/pane.sh", - "auto-open" - ] - } - ], - "panes": [ - { - "id": "pane", - "title": "reviewr", - "placement": "split", - "command": [ - "sh", - "-c", - "exec \"$HERDR_PLUGIN_ROOT/bin/herdr-reviewr\"" - ] - } - ], - "source": { - "kind": "github", - "owner": "persiyanov", - "repo": "herdr-reviewr", - "requested_ref": "792b4b31475ddbf263ee4d421a984e7418031506", - "resolved_commit": "792b4b31475ddbf263ee4d421a984e7418031506", - "managed_path": "/home/prad/.config/herdr/plugins/github/persiyanov.reviewr-e87b654a74f8", - "installed_unix_ms": 1788185404152 - } - }, - { - "plugin_id": "rjyo.window-title-sync", - "name": "Window Title Sync", - "version": "0.1.0", - "min_herdr_version": "0.7.0", - "description": "Sync the outer terminal title to the focused Herdr workspace, tab, and agent session.", - "manifest_path": "/home/prad/.config/herdr/plugins/github/rjyo.window-title-sync-aa963fbbc3d9/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/herdr/plugins/github/rjyo.window-title-sync-aa963fbbc3d9", - "enabled": true, - "platforms": [ - "macos", - "linux" - ], - "actions": [ - { - "id": "refresh", - "title": "Refresh terminal title", - "contexts": [ - "workspace", - "tab", - "pane" - ], - "command": [ - "bun", - "sync-title.js" - ] - } - ], - "events": [ - { - "on": "pane.agent_detected", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "pane.agent_status_changed", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "pane.closed", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "pane.created", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "pane.focused", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "pane.moved", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "tab.focused", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "tab.renamed", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "workspace.focused", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "workspace.renamed", - "command": [ - "bun", - "sync-title.js" - ] - }, - { - "on": "workspace.updated", - "command": [ - "bun", - "sync-title.js" - ] - } - ], - "source": { - "kind": "github", - "owner": "rjyo", - "repo": "herdr-window-title-sync", - "requested_ref": "b07f1140b7308d66487b2f4be546c0c7db065569", - "resolved_commit": "b07f1140b7308d66487b2f4be546c0c7db065569", - "managed_path": "/home/prad/.config/herdr/plugins/github/rjyo.window-title-sync-aa963fbbc3d9", - "installed_unix_ms": 1788185435070 - } - }, - { - "plugin_id": "switchboard", - "name": "Switchboard", - "version": "1.0.0", - "min_herdr_version": "0.7.4", - "description": "A colorful Herdr command palette with searchable Projects, Commands, and Ports pickers plus Git, Clone, Settings, Changelog, and Update utilities.", - "manifest_path": "/home/prad/.config/herdr/plugins/github/switchboard-487537935c92/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/herdr/plugins/github/switchboard-487537935c92", - "enabled": true, - "platforms": [ - "macos", - "linux" - ], - "actions": [ - { - "id": "changelog", - "title": "Switchboard Changelog", - "description": "Read what changed in this plugin, including the version you have installed.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "clone", - "title": "Clone Repository", - "description": "Clone a repository with ghq get (from clipboard or a prompt), then open it.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "commands", - "title": "Commands", - "description": "Search shell history and presets, then fill or run the exact command.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "git", - "title": "Git Menu", - "description": "Open the git menu for the current repo in its own pane: review the worktree, a branch, or a commit with tuicr, or stage with lazygit.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "menu", - "title": "Switchboard Menu", - "description": "Open the central menu for every Switchboard picker and utility.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "open-split", - "title": "Open Repo in Split", - "description": "Pick a repo; Enter opens it in a split of the current pane.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "open-tab", - "title": "Open Repo in Tab", - "description": "Pick a repo; Enter opens it in a new tab.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "open-workspace", - "title": "Open Repo in Workspace", - "description": "Pick a repo; Enter opens it in a new workspace.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "ports", - "title": "Ports", - "description": "Inspect live TCP listeners and safely act on their owner processes.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "projects", - "title": "Projects", - "description": "Open the switcher over running agents, open workspaces, ghq repositories, and linked worktrees.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "settings", - "title": "Switchboard Settings", - "description": "Configure the common, projects, commands, and ports modes.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - }, - { - "id": "update", - "title": "Update Switchboard", - "description": "Install the newest tagged version of this plugin. Refuses to touch a linked checkout.", - "contexts": [ - "global", - "pane" - ], - "command": [ - "bash", - "bin/action.sh" - ] - } - ], - "panes": [ - { - "id": "changelog", - "title": "Switchboard Changelog", - "placement": "popup", - "width": 88, - "height": 28, - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/changelog.sh\"" - ] - }, - { - "id": "clone", - "title": "Clone Repository", - "placement": "overlay", - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/get.sh\"" - ] - }, - { - "id": "commands", - "title": "󰆍", - "placement": "overlay", - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/picker.sh\" --commands" - ] - }, - { - "id": "git", - "title": "󰊢", - "placement": "overlay", - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/git.sh\"" - ] - }, - { - "id": "menu", - "title": "󰍜", - "placement": "popup", - "width": 76, - "height": 24, - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/picker.sh\" --menu" - ] - }, - { - "id": "ports", - "title": "󰛳", - "placement": "overlay", - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/picker.sh\" --ports" - ] - }, - { - "id": "projects", - "title": "󰊢", - "placement": "overlay", - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/picker.sh\"" - ] - }, - { - "id": "settings", - "title": "Switchboard Settings", - "placement": "popup", - "width": 100, - "height": 32, - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/picker.sh\" --settings" - ] - }, - { - "id": "update", - "title": "Update Switchboard", - "placement": "overlay", - "command": [ - "bash", - "-c", - "exec bash \"$HERDR_PLUGIN_ROOT/bin/update-plugin.sh\"" - ] - } - ], - "source": { - "kind": "github", - "owner": "crafts69guy", - "repo": "herdr-switchboard", - "requested_ref": "b68d053b6fe54b8e0bcb46a90ed36135da57b4d3", - "resolved_commit": "b68d053b6fe54b8e0bcb46a90ed36135da57b4d3", - "managed_path": "/home/prad/.config/herdr/plugins/github/switchboard-487537935c92", - "installed_unix_ms": 1788185445497 - } - }, - { - "plugin_id": "vim-herdr-navigation", - "name": "Vim Herdr Navigation", - "version": "0.1.0", - "min_herdr_version": "0.7.0", - "description": "Seamless Ctrl+h/j/k/l navigation across herdr panes and Vim/Neovim splits", - "manifest_path": "/home/prad/.config/herdr/plugins/github/vim-herdr-navigation-a8bf42123d81/herdr-plugin.toml", - "plugin_root": "/home/prad/.config/herdr/plugins/github/vim-herdr-navigation-a8bf42123d81", - "enabled": true, - "platforms": [ - "linux", - "macos" - ], - "actions": [ - { - "id": "down", - "title": "Navigate down (Vim/herdr)", - "contexts": [ - "global" - ], - "command": [ - "bash", - "navigate.sh", - "down" - ] - }, - { - "id": "left", - "title": "Navigate left (Vim/herdr)", - "contexts": [ - "global" - ], - "command": [ - "bash", - "navigate.sh", - "left" - ] - }, - { - "id": "right", - "title": "Navigate right (Vim/herdr)", - "contexts": [ - "global" - ], - "command": [ - "bash", - "navigate.sh", - "right" - ] - }, - { - "id": "up", - "title": "Navigate up (Vim/herdr)", - "contexts": [ - "global" - ], - "command": [ - "bash", - "navigate.sh", - "up" - ] - } - ], - "source": { - "kind": "github", - "owner": "paulbkim-dev", - "repo": "vim-herdr-navigation", - "resolved_commit": "79679dacc791f70fc34de8b29a3cf9706c0f5b2f", - "managed_path": "/home/prad/.config/herdr/plugins/github/vim-herdr-navigation-a8bf42123d81", - "installed_unix_ms": 1788185484043 - } - } -] \ No newline at end of file diff --git a/dot_config/herdr/plugins/config/official.browser/.keep b/dot_config/herdr/plugins/config/official.browser/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/dot_config/herdr/plugins/config/vim-herdr-navigation/.keep b/dot_config/herdr/plugins/config/vim-herdr-navigation/.keep deleted file mode 100644 index e69de29..0000000