unify zsh+bash shell config; fix zsh startup

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>
This commit is contained in:
2026-06-26 17:46:10 +02:00
parent a6a3d3a759
commit 0253a46882
13 changed files with 293 additions and 20 deletions
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
# Loaded by every interactive bash, and by login bash via ~/.bash_profile.
# Source env first (idempotent — covers non-login interactive shells that bash
# would otherwise start without it), then the real interactive config.
[ -r ~/.profile ] && . ~/.profile
[ -r ~/.config/bash/rc ] && . ~/.config/bash/rc