Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help