The easy way to manage system configuration and dotfiles. Version controlled dotfiles without symlink litter.
(c)2017 Stephen Parker (https://withaspark.com). All rights reserved. See LICENSE.
- Install Dotdock to a bin directory (
~/bin
,/usr/local/bin
, etc.).git clone --depth=1 https://github.com/withaspark/dotdock.git $HOME/.dotdock sudo cp $HOME/.dotdock/dotdock /usr/local/bin/dotdock; sudo chmod ugo+rx /usr/local/bin/dotdock
- Create a remote repository to backup or publish configuration files to.
- Configure Dotdock.
cp $HOME/.dotdock/.env.example $HOME/.dotdock/.env
- Set
REPO_URL
to the URL of the new remote repository created above.
- Set
- Initialize Dotdock file repository.
dotdock init
dotdock add FILE
dotdock diff [FILE]
dotdock init
dotdock list
dotdock publish
dotdock pull [FILE]
dotdock rm FILE
dotdock save [FILE]
dotdock status
a|add FILE
Adds a file to the managed configuration files.
d|diff [FILE]
Shows the differences between a managed configuration file and the current state of the file.
i|init
Inits the managed configuration file repository.
l|list
Lists the managed configuration files.
publish
Publishes all local managed configuration files to the repository.
pull [FILE]
Updates all local managed configuration files with the versions being tracked.
rm|remove|del|delete FILE
Removes a file from the managed configuration files.
save [FILE]
Saves the current state of a managed configuration file to the file repository.
s|status
Shows the change status of the managed configuration file repository.
-v|--version
Gets the current version of Dotdock.
-h|--help
Shows help and usage.