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 9262c9795a
12 changed files with 236 additions and 20 deletions
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Bash login shell. Everything a non-login shell gets lives in ~/.bashrc, so
# source it, then add login-only bits.
[ -r ~/.bashrc ] && . ~/.bashrc
# pyenv shims dir (login only); PYENV_ROOT comes from ~/.config/shell/exports.
command -v pyenv >/dev/null 2>&1 && eval "$(pyenv init --path)"