Quando você executa bash --login , isso inicia um login shell . Uma das peculiaridades de bash em relação aos arquivos de inicialização é que, se for um shell de login, ele só lê ~/.bash_profile (ou se não existir ~/.bash_login , ou se não existir ~/.profile ), não ~/.bashrc mesmo se o shell for interativo.
Para executar código em um shell de login, coloque-o em ~/.bash_profile se for específico para bash, ou em ~/.profile se você quiser que ele aconteça em qualquer login, mesmo quando /bin/sh for invocado.
Para garantir que suas personalizações para shells interativas sejam aplicadas, coloque o seguinte código em ~/.bash_profile :
case $- in
*i*) if [ -e ~/.bashrc ]; then . ~/.bashrc; fi;;
esac
if [ -e ~/.profile ]; then . ~/.profile; fi