Echo AreaJust a blog, ok2014-07-03T22:53:00Ztekutihttp://blog.ryuslash.org/feed/atomTom Willemsenhttp://blog.ryuslash.org/rcm: Another dotfile managerhttp://blog.ryuslash.org/2014/07/03/rcm-another-dotfile-manager2014-07-03T22:53:00Z2014-07-03T22:53:00Z

A little while ago I saw a link pass by about rcm, a RC file (or dotfile) manager. It seems a lot like using GNU Stow for your dotfiles.

The basic idea seems to be that you create links to all your dotfiles and the actual files are all kept in a single directory structure, presumably for easy sharing with, for example, git.

The good…

It seems that rcm has a few interesting features.

Host-specific dotfiles

It gives you an option to have host-specific dotfiles, which is very handy when you���re working on multiple (types of) system. My laptop doesn���t always have the same needs as my PC and my server(s) definitely have different needs.

The bad…

In the short time I���ve spent with it, I���ve also found a few things I don���t much like.

Everything in a single directory

I���m not so sure about the choice to put everything in a single directory structure, which top-level dotfiles in the top-level directory. This links all the files together in a repository-idea kind-of way. I can���t have a zsh repository and an Emacs repository without also having different rcm source directories.

Actually, this isn���t entirely true. I can still separate them, with the use of Labels, but not in an ideal fashion.

Unfriendly to directories

It doesn���t seem to like linking directories, though it can. Linking directories is essential for me as I can on occasion remove a file from one of my configuration directories and I don���t want to have to keep track of dead links like that manually. If you do link a directory, instead of it showing up in lsrc as a single entry, all the files in the directory are shown separately.

Labels

The labels are a nice idea, but they aren���t what I expected them to be when I read the description. Like host-specific dotfiles, labeled dotfiles are put in their own directory. This allows you to separate the dotfiles from others. What I didn���t like about this implementation is that afterwards you always have to specify which label you want to use, which seems to make it impossible to still setup your dotfiles in a single command.

Conclusion

I personally won���t be using rcm to manage my dotfiles. The solution I have right now with GNU Stow works better and is easier to setup, although that too has its drawbacks.

This is not a definitive description or review of the software, I have spent only a small amount of time with it and these are the findings I made when trying to set it up with a few config files. If you really want to know about it you should try it, it has quite a bit of documentation to get you going.