Skip to content
Homer - your home dotfiles manager that works with GitHub
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Homer v1.4.0

Your $HOME needs Homer :)

Homer manages your dotfiles and folders using just git. No symlink is involved! What makes Homer different is:

  • works directly in the $HOME
  • keeps tracking of added files, ignoring everythig else
  • fully tracks all added folders (!)
  • there is no staging area (like in git). Homer hides this from user.

In other words, you pick files and folders from your $HOME and add it to the Homer. Everything else is ignored, which is very convenient when used in $HOME. Homer treats added files and folders differently:

  • files are simply tracked when they are added.
  • folders, however, are fully synchronized! There is no need to manually add file(s) from added folder. Homer will do all that. Of course, you can use .gitignore in the folders to simply ignore some files.

This makes everyday-life much easier!

Installation 🎁

Download homer to your $PATH or current folder. Done!


Setup 🎬

First you need to initialize Homer and connect to GitHub by passing user/repo_name:

homer init github-user/homer-repo

If you have another machine, just clone Homer from the GitHub:

homer clone github-user/homer-repo

Every-day work ☀️

Anytime you can check the status of what is going on; what is new, changed deleted or untracked:

homer status

Start adding files and folders. When folder is added, all its files are added as well! Use .gitgnore to ignore files.

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. This 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

Reset and Remove ⚠️

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>

Update 🚀

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.

Use with ❤

Do it!

You can’t perform that action at this time.