To install, clone this repo to ~/dotfiles, with the --recurse-submodules option. This path is now hardcoded because why not.
If you really need to use a different path, then instead of symlinking .profile, .bashrc, and .zshrc, manually edit their contents to configure a different DOTFILES environment variable (with the value being the path to the cloned repo), and then source ${DOTFILES}/.profile, ${DOTFILES}/.bashrc, or {$DOTFILES}/.zshrc as necessary.
After that, make the following symlinks for the base shell configuration (if needed, manually back up the original files first):
ln -s "${HOME}/dotfiles/.bash_logout"
ln -s "${HOME}/dotfiles/.bash_profile"
ln -s "${HOME}/dotfiles/.bashrc"
ln -s "${HOME}/dotfiles/.profile"
ln -s "${HOME}/dotfiles/.zshrc"For other configuration, make the following symlinks as well:
ln -s "${HOME}/dotfiles/.gitconfig"
ln -s "${HOME}/dotfiles/.hgrc"
ln -s "${HOME}/dotfiles/.toprc"
ln -s "${HOME}/dotfiles/.vimrc"All of the initialization scripts are located in the scripts folder in the root of this repo, with the following naming conventions:
*.shfiles get sourced in both Bash and Zsh*.bashfiles get sourced only in Bash*.zshfiles get sourced only in Zsh
The convention is arbitrary, and only somewhat aligned with existing file naming conventions - but it works well for this particular setup.
In general, scripts compatible with both Bash and Zsh are preferred for easier maintenance.