#dot
dot
is a simple shell script to help me keep my dotfiles in sync across
machines.
The dotfiles live in a separate git
repository that is managed via dot
.
I've put this together as an replacement to vcsh
(which probably is what you
should be using instead) because I was confused with how to use submodules.
With dot
I add various submodules via dot submodule add REPO
. When I work
on the submodules itself I do not use the dot
wrapper directly, but usual
git
instead. After comitting in the submodule, I add and commit via dot
.
So far I've had no issues.
Clone this repository
git clone https://github.com/ksonj/dot.git
Copy dotrc
to ~/.dotrc
and edit it to match your setup (i.e. include the
location to your dotfile repository).
Then run dot initalize
and you're good to go!
..., probably not quite: some of the files that are to be downloaded will most
likely already exist in your $HOME
. In that case either clean up yourself,
i.e. move (and backup) your files OR run
dot clear
to remove all conflicting files (a backup is created). Then run dot initialize
again.
dot
provides 4 special commands, other than that it is just an alias to git
with GIT_DIR
and GIT_WORK_TREE
set:
dot clear
Remove conflicting files.
dot unclear
Reinstate the latest backup created by dot clear
.
dot initialize
Clone and initialize the dotfile repository.
dot shell
Enter a shell with GIT_DIR
and GIT_WORK_TREE
set.
Most of the time you'll be using dot
like git
(e.g. edit some file, run dot add
, dot commit -m"..."
and dot push
).
zsh