9262c9795a
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>
14 lines
431 B
Bash
14 lines
431 B
Bash
#!/bin/sh
|
|
|
|
# Read first by zsh for EVERY shell (login or not), so this is the only place
|
|
# ZDOTDIR can be set early enough to redirect where zsh looks for its rc files.
|
|
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
|
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
|
|
|
# Shared POSIX environment (idempotent):
|
|
for _name in path exports; do
|
|
_file="$XDG_CONFIG_HOME/shell/$_name"
|
|
[ -r "$_file" ] && . "$_file"
|
|
done
|
|
unset _name _file
|