blob: ab835af63cfb3ffda5e4dad3342c48f84c438473 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
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 <module>
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/]<name>[.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
----
- Track loaded modules.
- Make modules as git submodules.
- Module descriptions.
- Module unloading and restoration.
- Module dependency.
- Integration with scripts project.
|