* Ship herdr with a config that mirrors our tmux setup Installs herdr through the mise shim, ships the matching config as an Omarchy default, and adds the usual refresh/restart pair. The keybindings map tmux sessions to workspaces, windows to tabs, and keep both the prefix and direct bindings from config/tmux/tmux.conf. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Add herdr versions of the tmux dev layout functions hdl, hds, hdlm, and hsl drive herdr through its socket API instead of tmux. hsl tiles into a real grid since herdr has no select-layout tiled. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Namespace the herdr layout helpers so they stay out of the shell Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Create hdlm's tabs in its own workspace instead of the focused one herdr tab create follows the focused workspace without --workspace, so switching workspaces while hdlm loops scatters the new tabs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Lay hsl's grid out in visual order Splitting the first column repeatedly inserted each new column between it and the previous one, so uneven counts put the spare row in a middle column instead of the last. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Report herdr config reload failures instead of swallowing them Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Hide herdr's pane scrollbars to match tmux Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Escape queued herdr layout commands * Install herdr from the omarchy-herdr package instead of mise * Use native herdr resize keybindings for tmux-style pane resizing * Rename the omarchy-herdr package to herdr --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
65 lines
1.8 KiB
Plaintext
65 lines
1.8 KiB
Plaintext
# File system
|
|
if command -v eza &> /dev/null; then
|
|
alias ls='eza -lh --group-directories-first --icons=auto'
|
|
alias lsa='ls -a'
|
|
alias lt='eza --tree --level=2 --long --icons --git'
|
|
alias lta='lt -a'
|
|
fi
|
|
|
|
if [[ "$TERM" == "xterm-kitty" ]]; then
|
|
alias ff="fzf --preview 'case \$(file --mime-type -b {}) in image/*) kitty icat --clear --transfer-mode=memory --stdin=no --place=\${FZF_PREVIEW_COLUMNS}x\${FZF_PREVIEW_LINES}@0x0 {} ;; *) bat --style=numbers --color=always {} ;; esac'"
|
|
else
|
|
alias ff="fzf --preview 'bat --style=numbers --color=always {}'"
|
|
fi
|
|
alias eff='$EDITOR "$(ff)"'
|
|
sff() { if [ $# -eq 0 ]; then echo "Usage: sff <destination> (e.g. sff host:/tmp/)"; return 1; fi; local file; file=$(find . -type f -printf '%T@\t%p\n' | sort -rn | cut -f2- | ff) && [ -n "$file" ] && scp "$file" "$1"; }
|
|
|
|
if command -v zoxide &> /dev/null; then
|
|
alias cd="zd"
|
|
zd() {
|
|
if (( $# == 0 )); then
|
|
builtin cd ~ || return
|
|
elif [[ -d $1 ]]; then
|
|
builtin cd "$1" || return
|
|
else
|
|
if ! z "$@"; then
|
|
echo "Error: Directory not found"
|
|
return 1
|
|
fi
|
|
|
|
printf "\U000F17A9 "
|
|
pwd
|
|
fi
|
|
}
|
|
fi
|
|
|
|
open() (
|
|
xdg-open "$@" >/dev/null 2>&1 &
|
|
)
|
|
|
|
# Directories
|
|
alias ..='cd ..'
|
|
alias ...='cd ../..'
|
|
alias ....='cd ../../..'
|
|
|
|
# Tools
|
|
alias a='omarchy-launch-agent --inline'
|
|
alias c='opencode --auto'
|
|
alias cx='printf "\033[2J\033[3J\033[H" && claude --permission-mode bypassPermissions'
|
|
alias cy='codex -s danger-full-access -a never'
|
|
alias d='docker'
|
|
alias r='rails'
|
|
alias t='tmux attach || tmux new -s Work'
|
|
alias h='herdr'
|
|
alias ic='tdl c'
|
|
alias ix='tdl cx'
|
|
alias icx='tdl c cx'
|
|
alias mup='MISE_MINIMUM_RELEASE_AGE=0 mise up'
|
|
n() { if [ "$#" -eq 0 ]; then command nvim . ; else command nvim "$@"; fi; }
|
|
|
|
# Git
|
|
alias g='git'
|
|
alias gcm='git commit -m'
|
|
alias gcam='git commit -a -m'
|
|
alias gcad='git commit -a --amend'
|