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

FreeBSD Manual Pages

  
 
  

home | help
RCUP(1)			FreeBSD	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	multi-
		  ple 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 re-
		  peated 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 as if it were
		  a file (using	a symlink) instead of as if it were a direc-
		  tory (by making a directory).	This option can	be repeated.

     -s	EXCL_PAT  any file that	matches	EXCL_PAT is installed as normal, in
		  accordance with the ALGORITHM	section	below. This is the op-
		  posite 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 documenta-
		  tion of the -U option	in lsrc(1) for more information.

     -u	EXCL_PAT  any rc file that matches EXCL_PAT is installed with a	lead-
		  ing dot. This	is the opposite	of -U.	This option can	be re-
		  peated. 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 di-
     rectories.	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.

     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	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
	  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.se

FreeBSD	13.0			 July 28, 2013			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | DIRECTORY LAYOUT | ALGORITHM | ENVIRONMENT | FILES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=rcup&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help