This is my dot files Github repository.
There are many like it, but this one is mine.
My dot files Github repository is my best friend.
It is my life.
I must master it as I must master my life.
My dot files Github repository, without me, is useless.
Without my dot files Github repository, I am useless.
There's no place like ~.
by Bideo Wego
All contents of this repo go in your ~ folder. The included .bashrc will load files from the .bash/ directory.
The .bash/functions.sh file gives you a new command $ githome to which you can pass enable or disable.
Why?
This allows you to enable/disable the ~ directory as a git repo so it does not effect nested repos.
Here is the bash function that enables this:
function githome {
if [ $1 ]; then
if [ $1 == 'disable' ]; then
mv ~/.git ~/.git_
mv ~/.gitignore ~/.gitignore_
elif [ $1 == 'enable' ]; then
mv ~/.git_ ~/.git
mv ~/.gitignore_ ~/.gitignore
else
echo "Unrecognized argument value $1, please specify 'enable' or 'disable'"
fi
else
echo "Please specify 'enable' or 'disable'"
fi
}
alias githome='githome'And call it like this:
$ githome enable
$ githome disableUnder the hood, this renames the .git/ folder and .gitignore file to be appended with an _. Thus, making them invisible as a repo and invisible to ignore files of nested repos.
Once enabled, the .gitignore file ignores * by default so your nested repos and entire ~ folder will not be checked into the repository.
The result is an organized method to version control your ~ folder dotfiles.
Enjoy!
This software is offered under the MIT License.
TODO: Make into Git plugin