Metadot: a dotfile management system ==================================== Inspired by https://github.com/holman/dotfiles Instalation ----------- Get the code: git clone --recursive git://URL/dotfiles.git .dotfiles Then add .dotfiles folder to your path or replace your dotfiles with ~/.dotfiles/metadot load profile A backup will be saved. Usage ----- List existing modules: metadot ls Load a module: metadot load Load all modules: metadot load --all Layout ------ - ~/.dotfiles: where all dotfiles modules are stored - ~/.backups: backups of old config files - ~/.custom: your custom configuration where you can override parameters Module format ------------- Modules rest at ~/.dotfiles/modules and can be git submodules. File format is: [path/][.dot][.link] Which means files - with a .link extension are linked at $HOME. - with a .dot.link extension are converted to a dotfile: vimrc.dot.link is linked as ~/.vimrc. - with other extensions are ignored. Also, - file structure is preserved: file apps/scripts.link is linked as $HOME/apps/scripts. - nested structures are allowed: config.dot/awesome.link is linked as $HOME/.config/awesome Todo ---- - Check if module is correctly installed. - Track loaded modules. - Make modules as git submodules. - Module descriptions. - Module unloading and restoration. - Module dependency. - Integration with scripts project. - More file types: - .sample: copied if no origin file exists - .sh: added to the profile - .mkdir: are simply created - .cp: are copied - .template: are copied and transformed according to environment or config variables