FreeBSD Manual Pages
RCUP(1) General Commands Manual RCUP(1) NAME rcup -- update and install dotfiles managed by rcm SYNOPSIS rcup [-CfhiKkqVv] [-B hostname] [-d dir] [-g] [-I excl_pat] [-S excl_pat] [-s excl_pat] [-t tag] [-U excl_pat] [-u excl_pat] [-x excl_pat] [files ...] DESCRIPTION This is a program to update and install personal dotfiles. These dot- files are managed in a separate directory. Use rcup to install files from your dotfiles directories or from host- or tag-specific directo- ries within. See "DIRECTORY LAYOUT" for details on the directory layout. It supports these options: -B HOSTNAME treat host-HOSTNAME as the host-specific directory instead of computing it. -C copy the files instead of symlinking them. -d DIR install dotfiles from the DIR. This can be specified mul- tiple times. -f if the rc file already exists in your home directory but does not match the file in your dotfiles directory, remove the rc file then create the symlink. -g print to stdout a standalone shell script that will run the rcup command as specified. Nothing on your filesystem will be modified by rcup when this flag is passed. -h show usage instructions. -I EXCL_PAT install rc files that match EXCL_PAT despite being ex- cluded by the -x flag or a setting in rcrc(5). This can be repeated with additional patterns. See lsrc(1), "EXCLUDE PATTERN", for more details. -i if the rc file already exists in your home directory but does not match the file in your dotfiles directory, prompt for how to handle it. This is the default. -K skip pre- and post-hooks. -k run pre- and post-hooks (see "DIRECTORY LAYOUT" for more details on hooks). This is the default. -S EXCL_PAT any rc file that matches EXCL_PAT is installed using a symlink even if it is a directory. This option can be re- peated. -s EXCL_PAT any file that matches EXCL_PAT is installed as normal, in accordance with the "ALGORITHM" section below. This is the opposite of -S. This option can be repeated. -t TAG install dotfiles according to TAG. -U EXCL_PAT any rc file that matches EXCL_PAT is installed without a leading dot. This option can be repeated. See the documen- tation of the -U option in lsrc(1) for more information. -u EXCL_PAT any rc file that matches EXCL_PAT is installed with a leading dot. This is the opposite of -U. This option can be repeated. This is the default. See the documentation of the -u option in lsrc(1) for more information. -q decrease verbosity. -V show the version number. -v increase verbosity. This can be repeated for extra ver- bosity. Verbose messages are printed to stderr. -x EXCL_PAT do not install rc files that match EXCL_PAT. This can be repeated with additional patterns. See lsrc(1), "EXCLUDE PATTERN", for more details. files only install the specified file(s) DIRECTORY LAYOUT Any non-dot non-meta file or directory under your dotfiles directory will be installed as a dotfile. For example, .dotfiles/zshrc will be installed into ~/.zshrc . Files are installed as symlinks. Directories are installed by making directories. The -C flag causes files to be installed as copies instead of symlinks. The COPY_ALWAYS option in rcrc(5) can be used to list files that must only be copied. Copied files are not updated in your dotfiles directory. Three meta files are supported: host-specific files, tagged files, hooks. Host-specific files go in a directory named for the host, prefixed with host-. For example, .dotfiles/host-scarlett contains files specific to the computer with hostname scarlett, and these files will only be in- stalled on the computer with hostname scarlett. Tagged files go in a directory named for the tag, prefixed with tag-. Therefore, files under .dotfiles/tag-git are only installed when in- stalling using the git tag. Hooks go in a directory named hooks. Two hooks are supported by rcup: pre-up and post-up. These go in files or directories with predictable filenames: .dotfiles/hooks/pre-up and .dotfiles/hooks/post-up, or .dotfiles/hooks/pre-up/* and .dotfiles/hooks/post-up/*. These files must be executable. They are run every time rcup is run, and therefore must be idempotent. Hooks will be executed one at a time, sorted alphabetically. For in- stance, hooks/pre-up/animals will run before hooks/pre-up/aquariums, and hooks/pre-up/4-eyes will run before hooks/post-up/2-u-nothing-compares. ALGORITHM It is instructive to understand the process rcup uses when synchroniz- ing your rc files: 1. The pre-up hook is run. 2. All non-host, non-tag files without a dot prefix are symlinked to the dotted filename in your home directory. So, .dotfiles/tigrc is symlinked to ~/.tigrc. 3. All non-host, non-tag directories have their structure copied to your home directory, then a non-dotted symlink is created within. So for example, .dotfiles/vim/autoload/haskell.vim causes the ~/.vim/autoload directory to be created, then haskell.vim is sym- linked within. 4. Steps (2) and (3) are applied to host-specific files. These are files under a directory named host-$HOSTNAME. 5. Steps (2) and (3) are applied to tag-specific files. These are files under directories named tag-$TAG_NAME, where $TAG_NAME is the name of each specified tag in turn, taken from the command line or from rcrc(5). 6. The post-up hook is run. ENVIRONMENT RCRC User configuration file. Defaults to ~/.rcrc. FILES ~/.dotfiles ~/.rcrc SEE ALSO lsrc(1), mkrc(1), rcdn(1), rcrc(5), rcm(7) AUTHORS rcup is maintained by Mike Burns <mburns@thoughtbot.com> and thoughtbot: http://thoughtbot.com FreeBSD ports 15.quarterly July 28, 2013 RCUP(1)
NAME | SYNOPSIS | DESCRIPTION | DIRECTORY LAYOUT | ALGORITHM | ENVIRONMENT | FILES | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rcup&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>
