When ‘--help’ is given, just run ‘man’ to show the manual page

I.e. do what git does.  I'm too lazy to keep the builtin help text up
to date :-)

Also add ‘--help’ to various commands that lacked it
(e.g. nix-collect-garbage).
This commit is contained in:
Eelco Dolstra 2012-10-03 16:37:06 -04:00
parent 9c41c66c5b
commit a562d544d8
25 changed files with 51 additions and 329 deletions

View file

@ -1,16 +1,11 @@
bin_PROGRAMS = nix-env
nix_env_SOURCES = nix-env.cc profiles.cc profiles.hh user-env.cc user-env.hh help.txt
nix_env_SOURCES = nix-env.cc profiles.cc profiles.hh user-env.cc user-env.hh
nix_env_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \
../libstore/libstore.la ../libutil/libutil.la \
../boost/format/libformat.la
nix-env.o: help.txt.hh
%.txt.hh: %.txt
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
AM_CXXFLAGS = \
-I$(srcdir)/.. \
-I$(srcdir)/../libutil -I$(srcdir)/../libstore \

View file

@ -1,77 +0,0 @@
Usage: nix-env [OPTIONS...] [ARGUMENTS...]
`nix-env' is a tool to manipulate Nix user environments.
Operations:
--install / -i: add derivations to the user environment
--upgrade / -u: upgrade derivation in the user environment
--set: create a user environment containing a single derivation
--uninstall / -e: remove derivations from the user environment
--query / -q: perform a query on an environment or Nix expression
--set-flag NAME VALUE: set derivation meta-attribute to given value
The previous operations take a list of derivation names. The special
name `*' may be used to indicate all derivations.
--switch-profile / -S [FILE]: switch to specified profile
--switch-generation / -G NUMBER: switch to specified generation of profile
--rollback: switch to the previous generation
--list-generations: list available generations of a profile
--delete-generations GENERATIONS...: deleted listed generations,
`old' for all non-current generations
--version: output version information
--help: display help
Install / upgrade / uninstall flags:
--dry-run: show what would be done, but don't do it
Installation sources:
--from-expression / -E EXPR...: evaluate expressions specified on
the command line; expressions should be functions that take the
default Nix expression as an argument
--from-profile PROFILE NAMES...: copy named packages from PROFILE
--attr / -A ATTRS...: select attributes by name from the default Nix
expression
Upgrade flags:
--lt: upgrade if the current version is older (default)
--leq: upgrade if the current version is older or equal
--eq: "upgrade" if the current version is equal
--always: upgrade regardless of current version
Query sources:
--installed: use installed derivations (default)
--available / -a: use derivations available in Nix expression
Query flags:
--xml: show output in XML format
--status / -s: print installed/present status
--no-name: hide derivation names
--attr-path / -P: shows the unambiguous attribute name of the
derivation which can be used when installing with -A
--system: print the platform type of the derivation
--compare-versions / -c: compare version to available or installed
--drv-path: print path of derivation
--out-path: print path of derivation output
--description: print description
--meta: print all meta attributes (only with --xml)
Options:
--profile / -p LINK: use specified profile instead of target of ~/.nix-profile
--file / -f FILE: use Nix expression FILE for installation, etc.
--verbose / -v: verbose operation (may be repeated)
--keep-failed / -K: keep temporary directories of failed builds
--keep-going / -k: build as many dependencies as possible, even if
some dependencies fail to build
--preserve-installed: do not replace currently installed versions in `-i'
--system-filter SYSTEM: only use derivations for specified platform
--prebuilt-only / -b: only use derivations whose prebuilt binaries are
available on this machine or are downloadable

View file

@ -4,7 +4,6 @@
#include "misc.hh"
#include "shared.hh"
#include "eval.hh"
#include "help.txt.hh"
#include "get-drvs.hh"
#include "attr-path.hh"
#include "common-opts.hh"
@ -66,7 +65,7 @@ typedef void (* Operation) (Globals & globals,
void printHelp()
{
cout << string((char *) helpText);
showManPage("nix-env");
}