4 ms·
I moved to splitting my bashrc into multiple files and having my main bashrc source them from a ~/.bashrcd directory. At heart it's a short snippet that just c
by heroprotagonist 6y ago
I moved to splitting my bashrc into multiple files and having my main bashrc source them from a ~/.bashrcd directory.
At heart it's a short snippet that just checks for existence and sources each file in the directory:
https://github.com/targaryen/bashrcd/blob/master/install/install_brcd.sh#L46 https://github.com/targaryen/bashrcd/blob/master/install/ins...
I added aliases to list/edit/remove entries from the .bashrcd directory and resource it. And a script I can call with a one-liner to edit bashrc on a new machine to add the sourcing and the helper aliases.
It'll load alphabetically so I can prefix entries with a number to specify load order (defaulting to 0100 so I don't need to specify this in the commands unless I explicitly changed them).
So the end result is that I can quickly edit or create a new bashrc entry by running 'ebrc entryname'. This opens ~/.bashrcd/0100--entryname in vi, and when it's saved it'll re-source so the add/change takes effect immediately.
Or 'lbrc' to list contents of the directory, or 'rbrc entryname' to remove ~/.bashrcd/0100--entryname
It's fairly simplistic but takes away most of the cognitive load of managing a complex bashrc.