From this discussion: https://www.reddit.com/r/zsh/comments/1v8rq7s/comment/p09b05o/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button --- Problem: Iris hardcodes config paths to `~/.zshrc` and `~/.config/fish/config.fish`. This ignores users' custom `ZDOTDIR` or `XDG_CONFIG_HOME` setups, polluting their `$HOME` directory during init and failing to scan their actual aliases. Also, ZDOTDIR is often set in `~/.zshenv` without export, making it invisible to Go's `os.Getenv` Solution: - Bash: default `$HOME/.bashrc` so dont mind about it - For Zsh, Iris now probes zsh directly (`zsh -c "echo $ZDOTDIR"`) with a timeout to accurately resolve custom paths even if they aint exported - For Fish, Iris now natively respects the `XDG_CONFIG_HOME` environment variable - Shared this robust resolution logic across init, uninstall, and alias scanning - Fixed alias scanning to process files in the correct zsh startup order (`.zshenv` -> `.zprofile` -> `.zshrc`) and correctly merge them