Each mask is appended to DOTROOT to create an alternative DOTROOT path, and finally to link target. Therefore, you can have shared structure like this: dotroot/fooapp dotroot/barapp dotroot.config/janeapp dotroot.config/aliceapp dotroot.local/share/janeapp dotroot.local/share/fooapp The first two examples work just like before, but if masks ".config" and ".local/share" are defined, the rest is treated specially. Final mapping looks like this: ~/.fooapp -> dotroot/fooapp ~/.barapp -> dotroot/barapp ~/.config/aliceapp -> dotroot.config/aliceapp ~/.config/janeapp -> dotroot.config/janeapp ~/.local/share/fooapp-> dotroot.local/share/fooapp ~/.local/share/janeapp -> dotroot.local/share/janeapp This allows for quite a good flexibility of how you define your shared structure to reflect habits of many common applications while retaining ease of deplyment. Note that: * `.config` and `.local/share` masks are defined by default * you can provide your own by using one or more `--mask` arguments; this, however, removes the default ones **Warning:** Potential clases between masks like ".local/share and ".local" are **not** solved within script. Avoid that. Currently it's an undefined behavior.
|
|
||
36 |
|
36 |
|
37 |
|
37 |
|
38 |
|
38 |
|
|
39 |
|
|
39 |
|
40 |
|
40 |
|
41 |
|
41 |
|
|
|
42 |
|
|
|
|
42 |
|
|
|
43 |
|
|
|
44 |
|
|
43 |
|
45 |
|
44 |
|
46 |
|
|
47 |
|
|
|
48 |
|
|
45 |
|
49 |
|
46 |
|
50 |
|
47 |
|
51 |
|
|
|
||
49 |
|
53 |
|
50 |
|
54 |
|
51 |
|
55 |
|
52 |
|
|
|
|
56 |
|
|
|
57 |
|
|
|
58 |
|
|
|
59 |
|
|
|
60 |
|
|
|
61 |
|
|
53 |
|
62 |
|
54 |
|
63 |
|
55 |
|
64 |
|
56 |
|
65 |
|
57 |
|
|
|
58 |
|
|
|
|
66 |
|
|
|
67 |
|
|
|
68 |
|
|
|
69 |
|
|
|
70 |
|
|
|
71 |
|
|
|
72 |
|
|
|
73 |
|
|
59 |
|
74 |
|
60 |
|
75 |
|
61 |
|
76 |
|
|
|
||
65 |
|
80 |
|
66 |
|
81 |
|
67 |
|
82 |
|
68 |
|
|
|
|
83 |
|