Dotfm is a simple config file manager, which uses git as it's backend to manage and track dotfiles.
$ curl -L https://git.io/JfQTV -o dotfm
$ wget -O dotfm https://git.io/JfQTV
Note: Make sure to add this binary to your $PATH
otherwise you won't be able to access it globally.
Note: Make sure you have go
installed.
- Clone this repository
cd
into the downloaded repository and rungo build
.
$ dotfm init
This will initialize the dotfm
repository in $HOME/.dotfm
Download an existing dotfm repository or use dotfm to track a non dotfm repository.
$ dotfm clone <url>
This adds a file to the dotfm tracker.
$ dotfm track /path/to/file
Lists tracked files.
$ dotfm list
Shows the status of the repository.
$ dotfm status
Stage files to be commited.
$ dotfm add <filename>
Commit your changes.
$ dotfm commit
This will open your get editor.
Add a new Remote.
$ dotfm remote add <remote name> <url>
Remove an existing Remote.
$ dotfm remote remove <remote name>
List remotes.
$ dotfm remote list
Push local changes to remote repository.
$ dotfm push <remote name> <branch>
Example:
$ dotfm push origin master
Sync local repository with remote.
$ dotfm sync <remote name> <branch>
Example:
$ dotfm sync origin master
Environments are nothing but git branches but they can be very powerful. You can create different environments for different machines and use them accordingly.
$ dotfm env create <env name>
$ dotfm env list
$ dotfm env switch <env name>
$ dotfm env delete <env name>