I organise my bashrc into a number of small 'stuff' files. This isn't the most efficient thing (prompt takes 0.5-1s to appear), but it is better than one massive flat .bashrc. It also allows `.stuff` files to be optional, and loaded via `.s conda` for exmaple. So in my bashrc I have ``` # I have all my stuff stored under $JDA .stuff() { if [ $# = 0 ]; then ( cd "$JDA"/stuff; ls *.stuff | cut -f1 -d.; ) else for s; do [ -e "$JDA"/stuff/"$s".stuff ] && . "$JDA"/stuff/"$s".stuff; done; fi } alias .s=.stuff .s cmds .s dircolors .s completion .s cd .s cdh .s zoxide .s mpd .s hist .s mvdesc .s cygwin .s git .s ssh .s antlr .s python .s x11 .s shopt .s perl .s stuff .s aliases .s dot_commands .s clip .s cargo .s nvm .s go .s tmux .s vim .s my_stuff . my_prompt complete -c viw catw batw lessw # This checks all dirs in the PATH exist, and removes duplicates NEWPATH="$("$JDA"/bin/tidypath "$PATH")" [ -n "$NEWPATH" ] && PATH="$NEWPATH" .if "$HOME/.bash_aliases" ```