summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Mike Burns <mike@mike-burns.com>2013-07-28 15:42:55 -0400
committerGravatar Mike Burns <mike@mike-burns.com>2013-07-28 16:55:17 -0400
commitc44ac8476d92058779b608ac9592a208247d2de3 (patch)
tree14fa157cdb43cb41aae071752de2600851f6bc4c
parent6324506f529651c80b3cf35465ed4605cfd86817 (diff)
Re-write the manpages in mdoc
Convert all the manpages to mdoc. This gives us access to the mdoc suite of tools, which includes HTML conversion, plus mdoc is a more expressable and natural format in general.
-rw-r--r--man/Makefile.am2
-rw-r--r--man/Makefile.in63
-rw-r--r--man/lsrc.184
-rw-r--r--man/mkrc.170
-rw-r--r--man/rcm.7313
-rw-r--r--man/rcrc.586
-rw-r--r--man/rcup.1127
7 files changed, 442 insertions, 303 deletions
diff --git a/man/Makefile.am b/man/Makefile.am
index 766c24c..581184e 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1 +1 @@
-man_MANS = lsrc.1 mkrc.1 rcrc.5 rcup.1 rcm.7
+man_MANS = lsrc.1 mkrc.1 rcrc.5 rcup.1 rcm.7
diff --git a/man/Makefile.in b/man/Makefile.in
index a1b10d7..0d9e7ce 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -92,8 +92,10 @@ am__uninstall_files_from_dir = { \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
man1dir = $(mandir)/man1
-am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"
+am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \
+ "$(DESTDIR)$(man7dir)"
man5dir = $(mandir)/man5
+man7dir = $(mandir)/man7
NROFF = nroff
MANS = $(man_MANS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -169,7 +171,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-man_MANS = lsrc.1 mkrc.1 rcrc.5 rcup.1 rcm.7
+man_MANS = lsrc.1 mkrc.1 rcrc.5 rcup.1 rcm.7
all: all-am
.SUFFIXES:
@@ -289,6 +291,49 @@ uninstall-man5:
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir)
+install-man7: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man7dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man7dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man7dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.7[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man7dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man7dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man7:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man7dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.7[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man7dir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
@@ -343,7 +388,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(MANS)
installdirs:
- for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"; do \
+ for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man7dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -412,7 +457,7 @@ install-info: install-info-am
install-info-am:
-install-man: install-man1 install-man5
+install-man: install-man1 install-man5 install-man7
install-pdf: install-pdf-am
@@ -442,7 +487,7 @@ ps-am:
uninstall-am: uninstall-man
-uninstall-man: uninstall-man1 uninstall-man5
+uninstall-man: uninstall-man1 uninstall-man5 uninstall-man7
.MAKE: install-am install-strip
@@ -451,12 +496,12 @@ uninstall-man: uninstall-man1 uninstall-man5
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
- install-man1 install-man5 install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+ install-man1 install-man5 install-man7 install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-man \
- uninstall-man1 uninstall-man5
+ uninstall-man1 uninstall-man5 uninstall-man7
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/man/lsrc.1 b/man/lsrc.1
index 50642a6..b964115 100644
--- a/man/lsrc.1
+++ b/man/lsrc.1
@@ -1,50 +1,50 @@
-.TH lsrc "1" "July 2013" "rcm"
-
-.SH NAME
-lsrc \- show configuration files
-
-.SH SYNOPSIS
-.B lsrc [-v] [-q] [-t \fItag\fR] [-d \fIdir\fR] [\fIfiles...\fR]
-
-.SH DESCRIPTION
-
+.Dd July 28, 2013
+.Dt LSRC 1
+.Os
+.Sh NAME
+.Nm lsrc
+.Nd show configuration files
+.Sh SYNOPSIS
+.Nm lsrc
+.Op Fl vq
+.Op Fl t Ar tag
+.Op Fl d Ar dir
+.Op files ...
+.Sh DESCRIPTION
This program lists all configuration files, both the sources in the
dotfiles directories and the destinations in your home directory.
-
-See \fIrcup\fR\|(1), the \fBDIRECTORY LAYOUT\fR section, for details on
-the directory layout.
-
+.
+See
+.Xr rcup 1 ,
+the
+.Sx DIRECTORY LAYOUT
+section, for details on the directory layout.
+.
It supports these options:
-
-.TP
-\fB-v\fR
+.
+.Bl -tag
+.It Fl v
increase verbosity. This can be repeated for extra verbosity.
-
-.TP
-\fB-q\fR
+.
+.It Fl q
decrease verbosity
-
-.TP
-\fB-t\fR \fITAG\fR
+.
+.It Fl t Ar TAG
list dotfiles according to TAG
-
-.TP
-\fB-d\fR \fIDIR\fR
+.
+.It Fl d Ar DIR
list dotfiles from the DIR. This can be specified multiple times.
-
-.TP
-\fIfiles...\fR
+.
+.It Ar files ...
only list the specified file(s)
-
-
-.SH AUTHOR
-
-Written by Mike Burns.
-
-.SH FILES
-.I ~/.dotfiles
-.I ~/.rcrc
-
-.SH SEE ALSO
-
-\&\fIrcrc\fR\|(5), \fImkrc\fR\|(1), \fIrcup\fR\|(1)
+.El
+.Sh FILES
+.Pa ~/.dotfiles
+.Pa ~/.rcrc
+.Sh SEE ALSO
+.Xr mkrc 1 ,
+.Xr rcup 1 ,
+.Xr rcrc 5 ,
+.Xr rcm 7
+.Sh AUTHORS
+.An "Mike Burns" Aq mike@mike-burns.com
diff --git a/man/mkrc.1 b/man/mkrc.1
index b8b555f..2d8bbdb 100644
--- a/man/mkrc.1
+++ b/man/mkrc.1
@@ -1,45 +1,43 @@
-.TH mkrc "1" "June 2013" "rcm"
-
-.SH NAME
-mkrc \- bless files into a dotfile
-
-.SH SYNOPSIS
-.B mkrc [-v] [-q] [-t \fItag\fR] [-d \fIdir\fR] \fIfiles...\fR
-
-.SH DESCRIPTION
-
+.Dd July 28, 2013
+.Dt MKRC 1
+.Os
+.Sh NAME
+.Nm mkrc
+.Nd bless files into a dotfile
+.Sh SYNOPSIS
+.Nm mkrc
+.Op Fl vq
+.Op Fl t Ar tag
+.Op Fl d Ar dir
+.Ar files ...
+.Sh DESCRIPTION
This program adds files to your dotfiles directory then installs it
back into your home directory. It can install files under a tag or
different source directory.
-
+.
It supports these options:
-
-.TP
-\fB-v\fR
+.
+.Bl -tag
+.It Fl v
increase verbosity. This can be repeated for extra verbosity.
-
-.TP
-\fB-q\fR
+.It Fl q
decrease verbosity
-
-.TP
-\fB-t\fR \fITAG\fR
+.It Fl t Ar TAG
install dotfiles according to tag
-
-.TP
-\fB-d\fR \fIDIR\fR
+.It Fl d Ar DIR
install dotfiles under the specified directory. This can be specified
multiple times.
-
-.SH AUTHOR
-
-Written by Mike Burns.
-
-.SH FILES
-
-.I ~/.dotfiles
-.I ~/.rcrc
-
-.SH SEE ALSO
-
-\&\fIrcrc\fR\|(5), \fIrcup\fR\|(1), \fIlsrc\fR\|(1)
+.El
+.Sh FILES
+.Pa ~/.dotfiles
+.Pa ~/.rcrc
+.Sh EXAMPLES
+.Dl mkrc ~/.vimrc
+.Dl mkrc -t zsh -d company-dotfiles ~/.zshrc ~/.zlogin
+.Sh SEE ALSO
+.Xr lsrc 1 ,
+.Xr rcup 1 ,
+.Xr rcrc 5 ,
+.Xr rcm 7
+.Sh AUTHORS
+.An "Mike Burns" Aq mike@mike-burns.com
diff --git a/man/rcm.7 b/man/rcm.7
index 46fb3de..0033f0f 100644
--- a/man/rcm.7
+++ b/man/rcm.7
@@ -1,171 +1,248 @@
-.TH rcm "7" "July 2013" "rcm"
-
-.SH NAME
-rcm \- dotfile management
-
-.SH DESCRIPTION
-
+.Dd July 28, 2013
+.Dt RCM 7
+.Os
+.Sh NAME
+.Nm rcm
+.Nd dotfile management
+.Sh SYNOPSIS
+.Nm lsrc
+.Nm mkrc
+.Nm rcup
+.Sh DESCRIPTION
The rcm suite of tools is for managing dotfiles directories. This is a
-directory containing all the \fI.*rc\fR files in your home directory
-(\fI.zshrc\fR, \fI.vimrc\fR, and so on). These files have gone by many
-names in history, such as \fIrc files\fR because they typically end in
-\fBrc\fR or \fIdotfiles\fR because they begin with a period.
-
+directory containing all the
+.Li .*rc
+files in your home directory
+.Sm off
+.Po
+.Pa .zshrc ,
+.Sm on
+.Pa .vimrc ,
+and so on
+.Pc .
+These files have gone by many
+names in history, such as
+.Do
+rc files
+.Dc
+because they typically end in
+.Li rc
+or
+.Do
+dotfiles
+.Dc
+because they begin with a period.
+.Pp
This suite is useful, for example, for commiting your rc files to a
central repository to share on GitHub, but it also scales to a more
complex situation such as mutliple source directories shared between
computers with some host-specific or task-specific files.
-
+.Pp
This guide serves as a tutorial motivating the suite. For a list of
-quick reference documentation see the \fBSEE ALSO\fR section below.
-
-.SH QUICK START
-
+quick reference documentation see the
+.Sx SEE ALSO
+section below.
+.
+.Sh QUICK START
If you do not already have a dotfiles directory then we can get started
-quickly. Use the \fImkrc\fR\|(1) command to add files to the directory.
-
-.B mkrc .vimrc
-
-You can see the effects of this with \fIlsrc\fR\|(1).
-
-.B lsrc
-
-The default dotfiles directory is \fB$HOME/.dotfiles\fR\|. The
-\fImkrc\fR command will move \fB.vimrc\fR to \fB.dotfiles/vimrc\fR, then
-symlink \fB.vimrc\fR to \fBdotfiles/vimrc\fR\|.
-
+quickly. Use the
+.Xr mkrc 1
+command to add files to the directory.
+.Pp
+.Dl mkrc .vimrc
+.Pp
+You can see the effects of this with
+.Xr lsrc 1 .
+.Pp
+.Dl lsrc
+.Pp
+The default dotfiles directory is
+.Pa $HOME/.dotfiles .
+The
+.Xr mkrc 1
+command will move
+.Pa .vimrc
+to
+.Pa .dotfiles/vimrc ,
+then symlink
+.Pa .vimrc
+to
+.Pa .dotfiles/vimrc .
+.Pp
This suite becomes more powerful when you share your dotfiles directory
between computers, either because mutliple people share the same
directory or because you have mutliple computers. As a quick simulation,
-we can create a file in your new \fB.dotfiles\fR directory.
-
-.B echo TAGS="zsh" > ~/.dotfiles/rcrc
-
-We can update our home directory to have a new \fB.rcrc\fR file (a
-symlink to \fB.dotfiles/rcrc\fR\|) using the \fIrcup\fR\|(1) command.
-
-.B rcup -v
-
-We passed the \fB-v\fR option to see in more explicit detail what it
-does. All rcm commands take the \fB-v\fR option, and mutliple \fB-v\fR
+we can create a file in your new
+.Pa .dotfiles
+directory.
+.Pp
+.Dl echo TAGS="zsh" > ~/.dotfiles/rcrc
+.Pp
+We can update our home directory to have a new
+.Pa .rcrc
+file (a symlink to
+.Pa .dotfiles/rcrc )
+using the
+.Xr rcup 1
+command.
+.Pp
+.Dl rcup -v
+.Pp
+We passed the
+.Fl v
+option to see in more explicit detail what it
+does. All rcm commands take the
+.Fl v
+option, and mutliple
+.Fl v
options can be given to give more explicit detail.
-
+.Pp
If you do share the dotfiles directory between people, you may end up
with some irrelevant or even incorrect rc files. For example, you may
-have a \fB.zshrc\fR while your other contributor has a \fB.bashrc\fR\|.
+have a
+.Pa .zshrc
+while your other contributor has a
+.Pa .bashrc .
This situation can be handled with tags.
-
+.Pp
A tag is a directory under the dotfiles directory the starts with the
-letters \fBtag-\fR\|. We can handle the competing shell example by
-making a \fBtag-zsh\fR directory and moving the \fB.zshrc\fR into it.
-
-.B mkrc -t zsh .zshrc
-
+letters
+.Li tag- .
+We can handle the competing shell example by
+making a
+.Pa tag-zsh
+directory and moving the
+.Pa .zshrc
+into it.
+.Pp
+.Dl mkrc -t zsh .zshrc
+.Pp
And likewise, your dotfiles partner would do the same for
-\fB.bashrc\fR\|.
-
-.B mkrc -t bash .bashrc
-
-When updating with \fIrcup\fR you can pass the \fB-t\fR option to
-include the tags you want. This can also be set in the \fBrcrc\fR\|(5)
+.Pa .bashrc .
+.Pp
+.Dl mkrc -t bash .bashrc
+.Pp
+When updating with
+.Xr rcup 1
+you can pass the
+.Fl t
+option to
+include the tags you want. This can also be set in the
+.Xr rcrc 5
configuration file, as hinted at above.
-
-.B rcup -t zsh
-
+.Pp
+.Dl rcup -t zsh
+.Pp
The tags are useful for sharing a single dotfiles directory between
competers or people, but another common situation is combining multiple
dotfiles directories that people have shared with you. For this we have
-the \fB-d\fR flag or the \fBDOTFILES_DIRS\fR option in \fB.rcrc\fR\|.
-
-.B rcup -d .dotfiles -d marriage-dotfiles -d thoughtbot-dotfiles
-
+the
+.Fl d
+flag or the
+.Ev DOTFILES_DIRS
+option in
+.Pa .rcrc .
+.Pp
+.Dl rcup -d .dotfiles -d marriage-dotfiles -d thoughtbot-dotfiles
+.Pp
This rcup invocation will go in sequence through the three dotfiles
directories, updating any symlinks as needed. Any overlapping rc files
-will use the first result, not the last; that is, \fB.dotfiles/vimrc\fR
-will take precedence over \fBmarriage-dotfiles/vimrc\fR\|.
-
+will use the first result, not the last; that is,
+.Pa .dotfiles/vimrc
+will take precedence over
+.Pa marriage-dotfiles/vimrc .
+.Pp
In a similar use case to tags you can also have host-specific files
-marked. This will go by the hostname. The \fBrcrc\fR\|(5) configuration
+marked. This will go by the hostname. The
+.Xr rcrc 5
+configuration
file is a popular candidate for a host-specific file.
-
-.B mkdir .dotfiles/host-`hostname`
-.P
-.B mv .rcrc .dotfiles/host-`hostname`/rcrc
-.P
-.B rcup -v
-
-.SH MIGRATING EXISTING WORKFLOWS
-
+.Pp
+.Dl mkdir .dotfiles/host-`hostname`
+.Dl mv .rcrc .dotfiles/host-`hostname`/rcrc
+.Dl rcup -v
+.Pp
+.Sh MIGRATING EXISTING WORKFLOWS
Many people have existing dotfiles directories, and have been managing
them using custom scripts. The suite of tools in this package should be
able to replace your custom scripts with little effort.
-
+.Pp
When converting an existing dotfiles directory you do need some
knowledge of how rcm works and what it expects. Details can be found in
-\fIrcup\fR\|(1), but briefly:
-
-.TP
-1
+.Xr rcup 1 ,
+but briefly:
+.Bl -enum
+.It
All non-host, non-tag files without a dot prefix are symlinked to the
-dotted filename in your home directory. So, \fB.dotfiles/tigrc\fR is
-symlinked to \fB~/.tigrc\fR\|.
-
-.TP
-2
+dotted filename in your home directory. So,
+.Pa .dotfiles/tigrc
+is
+symlinked to
+.Pa ~/.tigrc .
+.It
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, \fB.dotfiles/vim/autoload/haskell.vim\fR causes the
-\fB~/.vim/autoload\fR directory to be created, then \fBhaskell.vim\fR is
-symlinked within.
-
-.TP
-3
+example,
+.Pa .dotfiles/vim/autoload/haskell.vim
+causes the
+.Pa ~/.vim/autoload
+directory to be created, then
+.Pa haskell.vim
+is symlinked within.
+.It
Steps (1) and (2) are applied to host-specific files.
-
-.TP
-4
+.It
Steps (1) and (2) are applied to tag-specific files.
-
-.PP
-
+.El
+.Pp
Two alternative conventions in dotfile directories can cause issue with
-this. The most common problem is to have a file named \fBinstall\fR or
-\fBMakefile\fR in your dotfiles directory. This will cause a
-\fB~/.install\fR or \fB~/.Makefile\fR symlink to be created in your home
+this. The most common problem is to have a file named
+.Pa install
+or
+.Pa Makefile
+in your dotfiles directory. This will cause a
+.Pa ~/.install
+or
+.Pa ~/.Makefile
+symlink to be created in your home
directory. The best option here is to move that file outside of your
dotfiles directory, or remove it entirely.
-
+.Pp
A less common situation is for all the filenames in your dotfiles
directory to be prefixed with a period. These files are skipped by the
rcm suite, and thus would result in nothing happening. The only option
in this case is to rename all the files, for example by using a shell
command like the following. Note that this will break any existing
symlinks.
-
-.B find ~/.dotfiles -name '.*' -exec echo mv {} `echo {} | sed 's/\.//'` \;
-
+.Pp
+.Dl find ~/.dotfiles -name '.*' -exec echo mv {} `echo {} | sed 's/\.//'` \;
+.Pp
The easiest way to see what the rcm suite will do is to run the
-\fIlsrc\fR\|(1) command. This shows all the symlinks that the suite intends
+.Xr lsrc 1
+command. This shows all the symlinks that the suite intends
to maintain.
-
-Once you are satisfied and ready to try rcm, use the \fIrcup\fR command.
-
-.SH WHY RCM
-
+.Pp
+Once you are satisfied and ready to try rcm, use the
+.Xr rcup 1
+command.
+.Pp
+.Sh WHY RCM
The rcm suite was built as an abstraction over the shell, Ruby, Python,
and make scripts people were writing and sharing. It is intended to run
on any unix system and support the range from simple to complex dotfile
directories.
-
+.Pp
As such, this suite is useful as a common base. Through this we can
share tools and develop this further as a first-class entity. It is also
our hope that a common set of tools will encourage others to share their
dotfiles, too.
-
-.SH SEE ALSO
-
-\&\fImkrc\fR\|(1), \fIrcup\fR\|(1), \fIlsrc\fR\|(1), \fIrcrc\fR\|(5)
-
-.SH AUTHOR
-
-Written by Mike Burns.
+.Sh FILES
+.Pa ~/.dotfiles
+.Pa ~/.rcrc
+.Sh SEE ALSO
+.Xr lsrc 1 ,
+.Xr mkrc 1 ,
+.Xr rcup 1 ,
+.Xr rcrc 5
+.Sh AUTHORS
+.An "Mike Burns" Aq mike@mike-burns.com
diff --git a/man/rcrc.5 b/man/rcrc.5
index 2f9e02a..fa51748 100644
--- a/man/rcrc.5
+++ b/man/rcrc.5
@@ -1,40 +1,50 @@
-.TH rcrc "5" "June 2013" "rcm"
-
-.SH NAME
-rcrc \- configuration for rcm
-
-
-.SH DESCRIPTION
-
-The rcm dotfile manager can be configured using a \fI.rcrc\fR file in
-your home directory. The format is POSIX shell, and it is sourced in by
-the \fBrcup\fR and \fBmkrc\fR programs.
-
+.Dd July 28, 2013
+.Dt RCRC 5
+.Os
+.Sh NAME
+.Nm rcrc
+.Nd configuration for rcm
+.Sh SYNOPSIS
+.Sm off
+.Ns Ev X
+.Ns =
+.Ns Qo
+.Va a\ \&
+.Va b\ \&
+.Va c
+.Qc
+.Sm on
+.Sh DESCRIPTION
+The rcm dotfile manager can be configured using a
+.Pa .rcrc
+file in your home directory. The format is POSIX shell, and it is
+sourced in by the
+.Xr lsrc 1 ,
+.Xr mkrc 1 ,
+and
+.Xr rcup 1
+programs.
+.Pp
It supports these variables:
-
-.TP
-\fBTAGS\fR
-the default tags used by \fBrcup\fR\|.
-
-.TP
-\fBDOTFILES_DIRS\fR
+.Bl -tag
+.It Va TAGS
+the default tags used by
+.Nm rcup
+.It Va DOTFILES_DIRS
the source directories for dotfiles. The first in the list is the
-canonical source. The default value is \fI~/.dotfiles\fR\|.
-
-.SH EXAMPLES
-
-\&\fBTAGS="freebsd development email git laptop gmail notmuch"\fR
-\&\fBDOTFILES_DIRS="/home/mike/.dotfiles /usr/share/dotfiles"\fR
-
-.SH AUTHOR
-
-Written by Mike Burns.
-
-.SH FILES
-
-.I ~/.rcrc
-.I ~/.dotfiles
-
-.SH SEE ALSO
-
-\&\fImkrc\fR\|(1), \fIrcup\fR\|(1), \fIlsrc\fR\|(1)
+canonical source. The default value is
+.Li ~/.dotfiles
+.El
+.Sh FILES
+.Pa ~/.dotfiles
+.Pa ~/.rcrc
+.Sh EXAMPLES
+.Dl TAGS="freebsd development email git laptop gmail notmuch"
+.Dl DOTFILES_DIRS="/home/mike/.dotfiles /usr/share/dotfiles"
+.Sh SEE ALSO
+.Xr lsrc 1 ,
+.Xr mkrc 1 ,
+.Xr rcup 1 ,
+.Xr rcm 7
+.Sh AUTHORS
+.An "Mike Burns" Aq mike@mike-burns.com
diff --git a/man/rcup.1 b/man/rcup.1
index c24753c..5f835f0 100644
--- a/man/rcup.1
+++ b/man/rcup.1
@@ -1,70 +1,79 @@
-.TH rcup "1" "June 2013" "rcm"
-
-.SH NAME
-rcup \- update and install dotfiles
-
-.SH SYNOPSIS
-.B rcup [-v] [-q] [-t \fItag\fR] [-d \fIdir\fR] [\fIfiles...\fR]
-
-.SH DESCRIPTION
-
+.Dd July 28, 2013
+.Dt RCUP 1
+.Os
+.Sh NAME
+.Nm rcup
+.Nd update and install dotfiles
+.Sh SYNOPSIS
+.Nm rcup
+.Op Fl vq
+.Op Fl t Ar tag
+.Op Fl d Ar dir
+.Op Ar files ...
+.Sh DESCRIPTION
This is a program to update and install personal dotfiles. These
-dotfiles are managed in a separate directory. Use \fBrcup\fR to install
-files from your dotfiles directories or from host- or tag-specific
-directories within.
-
-See \fBDIRECTORY LAYOUT\fR for details on the directory layout.
-
+dotfiles are managed in a separate directory. Use
+.Nm rcup
+to install files from your dotfiles directories or from host- or
+tag-specific directories within.
+.Pp
+See
+.Sx DIRECTORY LAYOUT
+for details on the directory layout.
+.Pp
It supports these options:
-
-.TP
-\fB-v\fR
+.Bl -tag
+.It Fl v
increase verbosity. This can be repeated for extra verbosity.
-
-.TP
-\fB-q\fR
+.It Fl q
decrease verbosity
-
-.TP
-\fB-t\fR \fITAG\fR
-install dotfiles according to TAG
-
-.TP
-\fB-d\fR \fIDIR\fR
-install dotfiles from the DIR. This can be specified multiple times.
-
-.TP
-\fIfiles...\fR
+.It Fl t Ar TAG
+install dotfiles according to
+.Ar TAG
+.It Fl d Ar DIR
+install dotfiles from the
+.Ar DIR
+\&. This can be specified multiple times.
+.It Ar files
only install the specified file(s)
-
-.SH DIRECTORY LAYOUT
-
+.El
+.Sh DIRECTORY LAYOUT
Any non-dot non-meta file or directory under your dotfiles directory will be
-installed as a dotfile. For example, \fI.dotfiles/zshrc\fR will be
-installed into \fI~/.zshrc\fR\|.
-
+installed as a dotfile. For example,
+.Pa .dotfiles/zshrc
+will be installed into
+.Pa ~/.zshrc
+\&.
+.Pp
Files are installed as symlinks. Directories are installed by making
directories.
-
+.Pp
Two meta files are supported: host-specific files and tagged files.
-
+.Pp
Host-specific files go in a directory named for the host, prefixed with
-\fIhost-\fR\|. For example, \fI.dotfiles/host-scarlett\fR contains files
-specific to the computer with hostname \fIscarlett\fR\|, and these files
-will only be installed on the computer with hostname \fIscarlett\fR\|.
-
+.Pa host-
+\&. For example,
+.Pa .dotfiles/host-scarlett
+contains files specific to the computer with hostname
+.Pa scarlett
+, and these files will only be installed on the computer with hostname
+.Pa scarlett
+\&.
+.Pp
Tagged files go in a directory named for the tag, prefixed with
-\fItag-\fR\|. Files under \fI.dotfiles/tag-git\fR are only installed
-when installing using the \fIgit\fR tag.
-
-.SH AUTHOR
-
-Written by Mike Burns.
-
-.SH FILES
-.I ~/.dotfiles
-.I ~/.rcrc
-
-.SH SEE ALSO
-
-\&\fIrcrc\fR\|(5), \fImkrc\fR\|(1), \fIlsrc\fR\|(1)
+.Li tag
+\&. Files under
+.Pa .dotfiles/tag-git
+are only installed when installing using the
+.Li git
+tag.
+.Sh FILES
+.Pa ~/.dotfiles
+.Pa ~/.rcrc
+.Sh SEE ALSO
+.Xr lsrc 1 ,
+.Xr mkrc 1 ,
+.Xr rcrc 5 ,
+.Xr rcm 7
+.Sh AUTHORS
+.An "Mike Burns" Aq mike@mike-burns.com