Move HISTFILE/HISTSIZE/SAVEHIST/HISTFILESIZE/HISTCONTROL into the shared
shell/exports as env vars; each shell ignores the other's name-specific
ones. Dedup that can't be an env var stays per-shell: HISTCONTROL=ignoreboth
for bash, setopt hist_ignore_all_dups/hist_ignore_space for zsh.
Also mkdir -p the HISTFILE parent in shell/interactive, so a fresh host
doesn't silently drop history when ~/.cache/shell is absent.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add $INPUTRC pointing at ~/.config/readline/inputrc and ship that file
with history-search Up/Down bindings (cursor to end), mirroring zsh's
history-beginning-search-end. zsh ignores readline, so this is bash-side
only. Includes /etc/inputrc to keep distro defaults.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Support either shell as the login shell via stow selection (merges the
bashed branch in). shell/ holds shared POSIX env + interactive config;
each shell loads its own rc natively.
- zsh: add .zshenv (sets ZDOTDIR+env early), rename rc -> .zshrc, add
login-only .zprofile (pyenv --path)
- bash: add ~/.bash_profile + ~/.bashrc stubs, .config/bash/{rc,prompt}
- shell: profile is POSIX env-only (no zsh-rc source); path rewritten
POSIX + idempotent (flat ~/.local/bin, no subdir recursion); new
interactive sources aliases/functions + pyenv shims
- drop dead shell/.zprofile symlink; move ZDOTDIR out of exports
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>