Homer - your home dotfiles manager that works with GitHub
Your $HOME
needs Homer :)
Homer manages your dotfiles and folders using just git
and GitHUb
. No symlinks, no copies.
What makes Homer unique is:
$HOME
git
). Homer hides this from user.In other words: pick files and folders from your $HOME
and add them to the Homer. Everything else is ignored, which is very convenient when used in $HOME
. Homer treats added files and folders differently:
.gitignore
in the folders to simply ignore some files.This makes everyday-life much easier!
Download homer
to your $HOME
. Done!
First you need to initialize Homer and connect to existing GitHub repo by passing user/repo_name
:
homer init github-user/homer-repo
On another machine, just clone Homer repo from the GitHub:
homer clone github-user/homer-repo
Check $HOME/.gitignore
and add some common folders. This is not necessary, but can dramatically speed up the detection of changes.
Anytime you can check the status; what is new, changed, deleted or untracked:
homer status
Start by adding files and folders. When folder is added, all its files are added as well! Use .gitgnore
to ignore files. For example:
homer add .zsh
homer add bin
...
If you already have some folders included in Homer, you can simply add all untracked files bellonging to included folders with simple:
homer add
You only need to add new files. That is different from git
: Homer does not have staging area, so you just need to add new files.
Finally, put all your changes to the repo (this command will also add all untracked files from included folders):
homer put
On the another computer, get the changes:
homer get
To reset some file:
homer reset bin/text.txt
You can reset all changes with:
homer reset
To remove single file from the repo:
homer remove <FILE>
Homer can check for and download the update, if it exists:
homer update
This will download a new version of homer
in your $HOME folder.
Do it!