Usage

The basic usage syntax looks like this:

dotgit [flags] {action} [category [category]]

Where action is one of the actions listed below and category is one or more categories or groups to activate. If no categories are specified dotgit will automatically activate the common category as well as a category with your machine’s hostname.

Using categories

When you run dotgit all of its actions will be limited to the categories that are activated. If you don’t specify any categories the default behaviour is to activate the common category as well as a category with your machine’s hostname (e.g. my-laptop).

When you run dotgit all the files in the filelist that are not part of the active categories will be ignored. You can run dotgit with two verbose flags -vv to see what categories are currently active.

Flags

-h, --help

Display a help message

-v, --verbose

Increase dotgit’s verbosity level. Can be specified multiple times

Note

It is a good idea to run dotgit with at least one -v flag since no output will be generated by default (unless there is an error).

--dry-run

When specified dotgit won’t make any changes to the filesystem. Useful when running with -v to see what dotgit would do if you run a command

--hard

Activates “hard” mode where files are copied rather than symlinked. Useful if symlinking isn’t an option or if you want the dotfiles to live on the machine independently of the dotgit repo.

Note

If you want to use hard mode you need to specify it every time you run dotgit

Actions

init

Initializes a new dotgit repository. Creates an empty filelist and also runs git init if the repo is not a valid git repository. You only need to run this once (when you set up a new dotgit repo). Running this multiple times has no effect.

update

Updates the dotgit repository. Run this after you made changes to your filelist or if you want to add the changes to non-symlinked files to your repo (e.g. encrypted files). This will save your dotfiles from your home folder in your dotgit repo, and also set up the links/copies to your dotfiles repo as needed (runs a restore operation after updating).

Note

When you run the update command dotgit will replace any files in the repo with those in your home folder. Make sure to run the restore command first on a new machine otherwise you might end up inadvertently replacing files in your repo.

restore

Links or copies files from your dotgit repo to your home folder. Use this if you want to restore your dotfiles to a new machine.

clean

Removes all the dotfiles managed by dotgit from your home folder (run first with the -v --dry-run flags to see what dotgit plans on doing).

diff

Prints which changes have been made to your dotfiles repo since the last commit.

commit

This will generate a git commit with all the current changes in the repo and will ask you if you want to push the commit to a remote (if one is configured).

passwd

Allows you to change your encryption password.