A python script intended to keep track of all your personal configuration files (also known as dotfiles)
Go to file
Lertsenem c6687e7b9e Lying about README being markdown 2016-06-02 02:13:53 +02:00
commands Moving one dir up 2016-06-02 02:07:58 +02:00
.gitignore Initial commit 2015-08-08 16:03:52 +02:00
README.md Lying about README being markdown 2016-06-02 02:13:53 +02:00
main.py Moving one dir up 2016-06-02 02:07:58 +02:00
metafile.py Moving one dir up 2016-06-02 02:07:58 +02:00
persoconf.py Moving one dir up 2016-06-02 02:07:58 +02:00
utils.py Moving one dir up 2016-06-02 02:07:58 +02:00

README.md

persoconf

persoconf is a python script intended to keep track of all your personal configuration files (also known as dotfiles).

Usage

If you want to skip this and get to the point: there's a 'help' command available, and +--help/-h+ options for every other command.

Add an app to your persoconf repo:


$> persoconf add myapp

Add dotfiles and config directories to this app:


$> persoconf add myapp ~/.myapp.config $> persoconf add myapp ~/.config/myapp/

List the files and dirs saved in persoconf for an app:


$> persoconf list -f tmux tmux.conf awesome rc.lua vim vimrc myapp myapp.config myapp/

Check if modifications occured on your config files:


$> echo "some change in my conf" >> ~/.myapp.config $> persoconf check persoconf:WARNING: File ~/.myapp.config was modified

Update persoconf saved files with the latest configuration available:


$> persoconf update

Package your dotfiles to move them on another machine:


$> persoconf package --pkgtype tgz $> ls persoconf.20160602.tgz $> tar tzf persoconf.20160602.tgz .config/awesome/rc.lua .config/myapp/somefile .config/myapp/someotherfile .myapp.config .tmux.conf .vimrc

Internals

All persoconf data is by default saved in a '.config/persoconf' directory. You can override this location with the global +--rootdir+ option. If the rootdir location does not exist when you first try to use persoconf, persoconf will ask if you want to create it.

Basically, data is saved as is (which means textfiles and dirs, mostly), and metadata is saved as json files.

// vim: set ft=asciidoc :