module DotModule

Ruby wrapper for GNU stow, designed for modular dotfile maintenance

It doesn’t really do a huge amount. In addition to creating symlinks using stow, it allows a set of DOT_PATHS to be defined. These may exist in multiple modules and are created prior to installing any module if not already present.

GNU Stow is already clever enough to manage this well, for the most part, however this gets around a corner case with paths also used by the system e.g. ~/.config… Given a module a containing a subdirectory .config/A On a clean system (with no existing ~/.config dir), installing just the i3 module will create a symlink ~/.config -> ~/dotfiles/A/.config Installing another module B which contains .config/B will happily replace that symlink with a directory ~/.config containg two symlinks, ~/.config/A -> ~/dotfiles/A/.config/A ~/.config/B -> ~/dotfiles/B/.config/B If another application has created a directory in .config in the meantime, however, this directory will now.

Short version – it is only necessary to define paths as DOT_PATHs if they are likely to be written to by applications/scripts outside the dotmodule framework

Constants

VERSION