diff options
author | Mike Burns <mike@mike-burns.com> | 2014-08-12 13:28:04 +0200 |
---|---|---|
committer | Mike Burns <mike@mike-burns.com> | 2014-08-26 16:58:46 +0200 |
commit | df29698f530357f9419cb72e70a808f93235e915 (patch) | |
tree | 60df5953ee7dc0fa454f87b69bbef7b6e732dd6c /man | |
parent | 8465d6a8d3568537f15688c66bc136a137e9c005 (diff) |
Generate an installation script
This commit adds a `-g` flag to rcup(1) to generate a standalone shell
script. This shell script can then be run again, even on different
computers, to recreate the symlinks.
This allows people to recreate the "download my dotfiles and run
./install.sh" instructions, but with generated code that they do not
need to maintain.
This provides us more freedom with lsrc(1): since rcm can be used to
generate a universal shell script, lsrc(1) now can be harder to install
-- it can depend on a compiler, for example -- because you only need to
install it on one machine.
The generated script is rather limited; this can be improved in future
commits, as desired.
Diffstat (limited to 'man')
-rw-r--r-- | man/rcm.7.mustache | 27 | ||||
-rw-r--r-- | man/rcup.1 | 15 |
2 files changed, 41 insertions, 1 deletions
diff --git a/man/rcm.7.mustache b/man/rcm.7.mustache index c9da706..8c8abd4 100644 --- a/man/rcm.7.mustache +++ b/man/rcm.7.mustache @@ -225,6 +225,33 @@ OS X users should see the .Sx BUGS section for more details. . +.Sh STANDALONE INSTALLATION SCRIPT +. +The +.Xr rcup 1 +tool can be used to generate a portable shell script. +Instead of running a command such as +.Xr ln 1 +or +.Xr rm 1 , +it will print the command to +.Li stdout . +This is controlled with the +.Fl g +flag. +Note that this will generate a script to create an exact replica of the +synchronization, including tags, host-specific files, and dotfiles directories. +.Pp +.Dl env RCRC=/dev/null rcup -B 0 -g > install.sh +.Pp +Using the above command, you can now run +.Li install.sh +to install (or re-install) your rc files. +The +.Li install.sh +script can be stored in your dotfiles directory, copied between computers, and +so on. +. .Sh RATIONALE 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 @@ -9,6 +9,7 @@ .Op Fl CfhiKkqVv .Op Fl B Ar hostname .Op Fl d Ar dir +.Op Fl g .Op Fl I Ar excl_pat .Op Fl S Ar excl_pat .Op Fl s Ar excl_pat @@ -42,6 +43,15 @@ This can be specified multiple times. 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 +.It Fl g +print to +.Li stdout +a standalone shell script that will run the +.Nm +command as specified. +Nothing on your filesystem will be modified by +.Nm +when this flag is passed. .It Fl h show usage instructions. .It Fl I Ar EXCL_PAT @@ -86,7 +96,10 @@ decrease verbosity .It Fl V show the version number. .It Fl v -increase verbosity. This can be repeated for extra verbosity. +increase verbosity. +This can be repeated for extra verbosity. +Verbose messages are printed to +.Li stderr . .It Fl x Ar EXCL_PAT do not install rc files that match .Ar EXCL_PAT . |