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 dotfiles
     are managed in a separate directory. Use rcup to install  files  from  your
     dotfiles directories or from host- or tag-specific directories 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 multiple
		  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 excluded 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 de-
		  tails 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 repeated.

     -s EXCL_PAT  any file that matches EXCL_PAT is installed as normal, in  ac-
		  cordance with the "ALGORITHM" section below. This is the oppo-
		  site 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 lead-
		  ing dot. This option can be repeated. See the documentation 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 verbosity.
		  Verbose messages are printed to stderr.

     -x EXCL_PAT  do not install rc files that match EXCL_PAT.	This can be  re-
		  peated   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 direc-
     tories. The -C flag causes files to be installed as copies instead of  sym-
     links.  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  direc-
     tory.

     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 installed  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 installing
     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  file-
     names:	.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  instance,
     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  synchronizing
     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  sym-
	  linked 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 symlinked 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

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.1.quarterly>

home | help