2 Commits
Author SHA1 Message Date
GeorgeSG 2c124d2bee Use code for git editor 2026-07-08 16:14:59 +03:00
GeorgeSG 26262f2111 Add herdr 2026-07-08 16:14:33 +03:00
5 changed files with 141 additions and 0 deletions
+2
View File
@@ -7,6 +7,7 @@
- create:
- ~/.config
- ~/.config/bash
- ~/.config/herdr
- ~/.config/tmux
- ~/.claude
@@ -24,6 +25,7 @@
# apps
~/.config/alacritty: home/config/alacritty
~/.config/btop: home/config/btop
~/.config/herdr/config.toml: home/config/herdr/config.toml
# tmux
~/.tmux.conf: home/tmux.conf
+1
View File
@@ -6,6 +6,7 @@ import = [
[window]
padding = { x = 16, y = 8 }
dynamic_title = true
option_as_alt = "OnlyLeft"
[scrolling]
history = 10000
+136
View File
@@ -0,0 +1,136 @@
# herdr configuration
# Place this file at ~/.config/herdr/config.toml
# Apply changes with: herdr server reload-config
# Show first-run notification setup on startup.
# Missing also shows onboarding; set false after you've chosen.
onboarding = false
[theme]
# Built-in themes: catppuccin, terminal, tokyo-night, dracula, nord,
# gruvbox, one-dark, solarized, kanagawa, rose-pine,
# vesper
name = "one-dark"
# Follow host terminal light/dark appearance and switch Herdr UI themes.
# Existing manual behavior is unchanged unless this is true.
# auto_switch = false
# dark_name = "catppuccin"
# light_name = "catppuccin-latte"
# Override individual color tokens on top of the base theme.
# Accepts: hex (#rrggbb), named colors, rgb(r,g,b), or panel_bg = "reset"
# [theme.custom]
# panel_bg = "reset"
# accent = "#f5c2e7"
# red = "#ff6188"
# green = "#a6e3a1"
[terminal]
# Executable used for new interactive panes.
# Empty means $SHELL, then /bin/sh.
default_shell = "/bin/zsh"
[update]
# Update channel used by background version checks and `herdr update`.
# Use "stable" for normal releases or "preview" for opt-in preview builds.
channel = "stable"
[keys]
prefix = "ctrl+a"
# Prefix-mode actions
help = "prefix+?"
settings = "prefix+shift+s" # default prefix+s is used for split_horizontal below
# detach = "prefix+q"
# reload_config = "prefix+shift+r"
# open_notification_target = "prefix+o"
# workspace_picker = "prefix+w"
# goto = "prefix+g"
# new_workspace = "prefix+shift+n"
# new_worktree = "prefix+shift+g"
# open_worktree = "" # optional, unset by default
# remove_worktree = "" # optional, unset by default; opens confirmation
# rename_workspace = "prefix+shift+w"
# close_workspace = "prefix+shift+d"
previous_workspace = "prefix+ctrl+k"
next_workspace = "prefix+ctrl+j"
# previous_agent = "" # optional, unset by default
# next_agent = "" # optional, unset by default
# focus_agent = "" # optional indexed binding, e.g. "prefix+alt+1..9"
# remote_image_paste = "ctrl+v" # only active in herdr --remote; empty disables raw-key image paste
new_tab = "prefix+c"
rename_tab = ["prefix+comma", "prefix+shift+t"]
previous_tab = ["prefix+p", "prefix+ctrl+h"]
next_tab = ["prefix+n", "prefix+ctrl+l"]
switch_tab = "prefix+1..9"
switch_workspace = "prefix+alt+1..9"
close_tab = "prefix+shift+x"
rename_pane = ["prefix+shift+p", "prefix+<"] # prefix+shift+comma
# edit_scrollback = "prefix+e"
focus_pane_left = "prefix+h"
focus_pane_down = "prefix+j"
focus_pane_up = "prefix+k"
focus_pane_right = "prefix+l"
# cycle_pane_next = "prefix+tab"
# cycle_pane_previous = "prefix+shift+tab"
# last_pane = "" # optional, unset by default; bind e.g. "prefix+tab" for global back-and-forth
split_vertical = ["prefix+v", "prefix+|"]
split_horizontal = ["prefix+s", "prefix+minus"]
# close_pane = "prefix+x"
# zoom = "prefix+z" # legacy alias: fullscreen
resize_mode = "prefix+r"
toggle_sidebar = "prefix+b"
copy_mode = ["prefix+[", "prefix+esc"]
# [worktrees]
# directory = "~/.herdr/worktrees"
[ui]
# Ask for a tab name before creating a new tab.
prompt_new_tab_name = true
# Draw borders around split panes.
pane_borders = true
# Keep split panes visually separated instead of sharing divider borders.
pane_gaps = true
# Show detected/reported agent labels in split pane borders when no manual pane name is set.
show_agent_labels_on_pane_borders = true
# Agent panel ordering: "spaces" (grouped by space) or "priority" (attention queue).
# "workspaces" is accepted as an alias for "spaces".
agent_panel_sort = "spaces"
# Accent color for highlights, borders, and navigation UI.
# Accepts: hex (#89b4fa), named colors (cyan, blue, magenta), or rgb(r,g,b)
accent = "cyan"
[ui.toast]
delivery = "herdr"
[ui.toast.herdr]
position = "bottom-right"
[ui.toast.clipboard]
enabled = true
position = "bottom-center"
[experimental]
# Save recent pane screen history across full server restarts.
pane_history = false
[advanced]
scrollback_limit_bytes = 33554432 # 32 MiB ~ 50k lines (tmux history-limit)
## Differences to tmux
# - prefix+n changed meaning: in tmux it was swap-pane -U; in herdr it's next tab. Pane swapping is prefix+shift+h/j/k/l - which was pane resize in your tmux. Resizing is now a mode: prefix+r.
# - No equivalents: window reordering (</>), paste buffers (b/p/P), vi mode-keys, base-index, escape-time, focus-events, aggressive-resize. Config reload is herdr server reload-config instead of prefix+r. The status-bar cpu/mem/clock plugins are replaced by herdr's sidebar; tmux-fzf's pickers map to prefix+w (workspace picker) and prefix+g (goto).
+1
View File
@@ -6,6 +6,7 @@
[core]
pager = delta
excludesfile = ~/.config/.gitignore_global
editor = code --wait
[interactive]
diffFilter = delta --color-only
[delta]
+1
View File
@@ -17,6 +17,7 @@ brew 'git'
brew 'git-delta' # https://github.com/dandavison/delta
brew 'gnupg'
brew 'gping'
brew 'herdr'
brew 'htop'
brew 'iperf3'
brew 'jnv'