79 lines
2.8 KiB
Text
79 lines
2.8 KiB
Text
|
;;;;;
|
||
|
title: rcm: Another dotfile manager
|
||
|
tags: software, rc
|
||
|
date: 2014-07-03 17:53
|
||
|
format: md
|
||
|
;;;;;
|
||
|
|
||
|
A little while ago I saw a link pass by about
|
||
|
[rcm](http://robots.thoughtbot.com/rcm-for-rc-files-in-dotfiles-repos),
|
||
|
a RC file (or dotfile) manager. It seems a lot like using
|
||
|
[GNU Stow](https://www.gnu.org/software/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](#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.
|
||
|
|
||
|
<a name="labels"></a>
|
||
|
### 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.
|
||
|
|
||
|
<!-- Local Variables: -->
|
||
|
<!-- mode: markdown -->
|
||
|
<!-- End: -->
|