"Doh!" A CLI for managing your dotfiles!
homer can be installed using cargo:
cargo install --git https://github.com/chrsmutti/homer.githomer can also be installed as an executable. Download the latest
compiled binaries and put it
anywhere in your executable path.
Prerequisites for building from source are:
Clone this repository and run cargo:
git clone github.com/chrsmutti/homer
cd homer
cargo build --release
# Optionally copy it to a dir in your $PATH.
cp target/release/homer ~/.local/binCreate a dotfiles directory anywhere you'd like, this directory can be a git
repo, for easy sharing and versioning. Inside it create a home directory.
Whenever you run homer inside the dotfiles directory, the same structure
present in the home directory will be created into your $HOME dir. Every
dir found will be created if it does not already exist, and every file will
be linked.
The resulting structure should be as follows:
$HOME
├── dotfiles
│ └── home
│ ├── dir
│ │ ├── a
│ │ └── b
│ └── file
├── dir
│ ├── a -> ~/dotfiles/home/dir/a
│ └── b -> ~/dotfiles/home/dir/b
└── file -> ~/dotfiles/home/fileAn action plan will always be shown, and then the user can choose to accept the changes
or reject them (you can pass the --force flag to auto-accept the prompt).
homer 0.2.1
"Doh!" A CLI for managing your dotfiles!
USAGE:
homer [FLAGS] [OPTIONS] --output <output>
FLAGS:
-f, --force Force the program to run without prompting for confirmation
-h, --help Prints help information
--no-backup Disable backup, an action plan will be created, when other files block symlink creation they will
be deleted instead of moved to a safe backup location
-V, --version Prints version information
OPTIONS:
-i, --input <input> Directory containing files to link into user's home directory [default: ./home]
-o, --output <output> Directory the files will be linked to, defaults to $HOME [env: HOME]
--scripts <scripts> Directory containing scripts that will be run after the plan is completed. If force flag
is passed, no confirmation prompt will be shown
Yes.
homer is licensed under the MIT License.