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).
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
.
- 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.
Pull requests welcome; see CONTRIBUTING.md
.
Copyright 2013 Mike Burns. BSD license. Copyright 2014 thoughtbot. BSD license.