RCRC(5)
π NAME π
okay so rcrc β that's the config file for rcm, bestie. it's the little vibe-setting file that tells your dotfile manager how to act. π
β¨ SYNOPSIS β¨
X="a b c"
like, that's it. that's the whole format. variable, equals, quoted string. slay.
πΈ DESCRIPTION πΈ
so the rcm dotfile manager gets configured by a .rcrc file chilling in your home directory. wanna put it somewhere else? no worries, just set the RCRC environment variable and point it wherever. π
the format is POSIX shell β yes, it's literally sourced in by lsrc(1), mkrc(1), rcdn(1), and rcup(1). so write it like shell, because it is shell.
here's everything it supports, no gatekeeping:
COPY_ALWAYSβ always copy the files that match the globs you list, never ever symlink them. sometimes a symlink just isn't the move. π«ΆDOTFILES_DIRSβ the source directories for your dotfiles. the first one in the list is the source that dotfiles created bymkrc(1)get installed into. default value is~/.dotfiles.EXCLUDESβ a space-separated list of exclude patterns. the whole lore on exclude patterns lives inlsrc(1)under the section "EXCLUDE PATTERN". go read it, iykyk.HOSTNAMEβ the hostname for this computer. normally it's computed with thehostname(1)command, but lowkey that command is non-standard and can prove unreliable π. soHOSTNAMEforces a known hostname and saves you the drama.TAGSβ the default tags.SYMLINK_DIRSβ a space-separated list of patterns. directories matching a pattern get symlinked instead of descended. patterns are explained in detail inlsrc(1)under the section "EXCLUDE PATTERN".UNDOTTEDβ a space separated list of patterns. files matching this pattern will be symlinked without a leading dot. and if a file is also inSYMLINK_DIRS, then the directory will be symlinked without a leading dot. patterns are explained in detail inlsrc(1)under the section "EXCLUDE PATTERN". (yes, that's three whole shoutouts to the same section. iconic of them.)
π¦ FILES π¦
~/.rcrc
π EXAMPLES π
here's the inspo board, copy whatever fits your setup:
COPY_ALWAYS="ssh/id_* weechat/* netrc"
COPY_ALWAYS="*"
DOTFILES_DIRS="/home/mike/.dotfiles /usr/share/dotfiles"
EXCLUDES="irbrc *:*emacs* dotfiles:python*"
HOSTNAME="eggplant"
TAGS="freebsd development email git laptop gmail notmuch"
SYMLINK_DIRS="zprezto texmf"
UNDOTTED="texmf"
β SEE ALSO β
lsrc(1), mkrc(1), rcdn(1), rcup(1), rcm(7)
π AUTHORS π
rcrc is maintained by Mike Burns <mburns@thoughtbot.com> and thoughtbot: http://thoughtbot.com β give them their flowers fr fr πΉ
π BUGS π
okay important, no cap:
we only expand tilde insideDOTFILES_DIRSand not inside any patterns. so don't come for us when~does nothing in your pattern.
for more notes on the caution you should exercise around patterns, see the BUGS section of lsrc(1). seriously, read it. π
and that's the whole page, babe β this one came out of the Debian crew and it's dated July 28, 2013, so it's been holding it down for a minute. go configure something cute πβ¨
π¦ where this page comes from
- alpine 3.24: rcm-doc 1.3.6-r0 Β· BSD-3-Clause
- epel 9: rcm 1.3.6-1.el9 Β· BSD
- fedora 43: rcm 1.3.6-9.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: rcm 1.3.6-10.fc44 Β· LicenseRef-Callaway-BSD
- nixos 26.05: rcm 1.3.6
- nixpkgs unstable: rcm 1.3.6
- opensuse-leap 16.0: rcm 1.3.6-bp160.1.9 Β· BSD-3-Clause
- ubuntu stonking: rcm 1.3.6-2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms