Skip to content
/ homer Public

Homer - your home dotfiles manager that works with GitHub

Notifications You must be signed in to change notification settings

igr/homer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

Homer v1.5.2

Your $HOME needs Homer :)

Homer manages your dotfiles and folders using just git and GitHUb. No symlinks, no copies. What makes Homer unique is:

  • it works directly in the $HOME
  • it keeps track of added files, ignoring everythig else - no need to worry to ignore folders
  • fully tracks all added folders - add folder and forget
  • there is no staging area (like in 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:

  • files are simply tracked when they are added. Each individual file must be manually added. Other files are ignored.
  • folders, however, are fully synchronized! There is no need to manually add file(s) once folder is added. Homer does all that for you. 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 $HOME. Done!

Usage

Setup 🎬

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.

Every-day work ☀️

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

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!