Skip to content

thoughtbot/rcm

rcm

This is a management suite for dotfiles. See the tutorial to get started quickly.

It assumes that you have a separate dotfiles directory, or are interested in creating one.

The programs provided are rcup(1), mkrc(1), rcdn(1), and lsrc(1). They are explained in the tutorial and configured using rcrc(5).

Installation

Alpine Linux:

sudo apk add rcm

Arch Linux:

https://aur.archlinux.org/packages/rcm/

Debian (see further down for Ubuntu):

sudo wget -q https://apt.tabfugni.cc/thoughtbot.gpg.key -O /etc/apt/trusted.gpg.d/thoughtbot.gpg
echo "deb https://apt.tabfugni.cc/debian/ stable main" | sudo tee /etc/apt/sources.list.d/thoughtbot.list
sudo apt-get update
sudo apt-get install rcm

Fedora:

sudo dnf install rcm

FreeBSD:

sudo pkg install rcm

Gentoo:

emerge app-admin/rcm

Korora:

64-bit Korora 23:

sudo dnf copr enable seeitcoming/rcm fedora-23-x86_64
sudo dnf install rcm

Korora is similar to Fedora but with an additional version and architecture specification. Replace fedora-23-x86_64 as appropriate.

macOS with Homebrew:

brew install rcm

macOS with MacPorts:

port install rcm

OpenBSD:

doas pkg_add rcm

openSUSE/RHEL/CentOS: instructions

Ubuntu (19.04 or later):

sudo apt update
sudo apt install rcm

Ubuntu (12.04, 14.04, 16.04, 18.04, or 18.10):

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:martin-frost/thoughtbot-rcm
sudo apt-get update
sudo apt-get install rcm

Void Linux:

sudo xbps-install -S rcm

Elsewhere:

This uses the standard GNU autotools, so it's the normal dance:

curl -LO https://thoughtbot.github.io/rcm/dist/rcm-1.3.4.tar.gz &&

# Use sha256sum with GNU coreutils, sha256 on BSD and macOS
sha=$(sha256sum rcm-1.3.4.tar.gz | cut -f1 -d' ') &&
[ "$sha" = "9b11ae37449cf4d234ec6d1348479bfed3253daba11f7e9e774059865b66c24a" ] &&

tar -xvf rcm-1.3.4.tar.gz &&
cd rcm-1.3.4 &&

./configure &&
make &&
sudo make install

For more, see INSTALL.

Programs

  • rcup(1) is the main program. It is used to install and update dotfiles, with support for tags, host-specific files, and multiple source directories.
  • rcdn(1) is the opposite of rcup(1).
  • mkrc(1) is for introducing a dotfile into your dotfiles directory, with support for tags and multiple source directories.
  • lsrc(1) shows you all your dotfiles and where they would be symlinked to. It is used by rcup(1) but is provided for your own use, too.

Support

Pull requests welcome; see CONTRIBUTING.md.

License

Copyright 2013 Mike Burns. BSD license. Copyright 2014 thoughtbot. BSD license.

About thoughtbot

thoughtbot

This repo is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software! See our other projects. We are available for hire.