confgit

Documentation Status CodeFactor Python 3.x PRs Welcome PR info Open issues Repo starts

Confgit is a Git overhead for version control of your config files. The main difference between confgit and any other config file version system is it’s simplicity. It makes version control and migration of config files safe and easy.

Installation

How does it work?

With confgit you do not have to learn anything new. You only need to set up a directory where confgit will copy all files you register. In result, you have all your config files centralized in one directory where you can edit and maintain your config files with git.

Usage

init

Initialize a git repository for your config files in current directory and generates config file in ~/.config/confgit.yml if you do not specify other location using --config argument.

confgit init
confgit init --config /alternative/location/of/config/file/confgit.yml

sync

Writes content of complementary files of registered files to their origins.

confgit sync

update

Writes content of origins of registered files to their’s complementary files.

confgit update

backup

Creates a zip file with backup of all files in confgit repository.

confgit backup

You can specify the name of the backup file.

confgit backup my_backup_monday.zip

If the name of the backup does not end with .zip it will be automatically added.

include

Registers a file or a directory into a confgit watch list.

confgit include nvim.init

Including directories will register all its files recursively.

confgit include ~/.config/

exclude

Excludes a file or directory from the registered files.

confgit exclude zoom.conf

Excluding directories will exclude all its files recursively.

confgit exclude .config/rofi/

other

Every other command will be called as git argument in directory with registered files.

confgit pull -> git pull

Optional Arguments

  • -h, --help - show this help message and exit

  • -c $config_path, --config $config_path - load alternative config

  • --debug - show additional information for debugging

Git commands supported by confgit

clone, add, mv, restore, rm, sparse-checkout, bisect, diff, grep, log, show, status, branch, commit, merge, rebase, reset, switch, tag, fetch, pull, push