This repository is made to store configuration files in a headless git repository.
The usage is as simple as git, just replace the git
command by cf
and use it to add any file from
your $HOME
directory. For obvious reasons, untracked files are not shown by cf status
.
Example:
cf add ~/.gitignore
cf commit -m "add global .gitignore
cf push origin master
To install on a new machine:
- Install zsh
- Install oh-my-zsh (+ plugins)
- Install Dotfiles
alias cf='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
git clone --bare git@github.com:eugenenelou/dotfiles.git $HOME/.cfg
cf config --local status.showUntrackedFiles no
# This will override existing files and reset the configuration
cf checkout
Follow these instructions to extend the base dotfiles config with a local dotfile config repository that you may want to keep private Warning The README.md file is shared between the main and the secondary dotfile repositories.
dotfiles_local=xxx
alias cfl='/usr/bin/git --git-dir=$HOME/.cfg.local/ --work-tree=$HOME'
git clone --bare $dotfiles_local $HOME/.cfg.local
cf-local config --local status.showUntrackedFiles no
# This will override existing files and reset the local configuration
cfl checkout
- create a
install.sh
script