forked from lix-project/lix
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:
parent
9c41c66c5b
commit
a562d544d8
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -89,15 +89,12 @@ Makefile.in
|
||||||
|
|
||||||
# /src/nix-env/
|
# /src/nix-env/
|
||||||
/src/nix-env/nix-env
|
/src/nix-env/nix-env
|
||||||
/src/nix-env/help.txt.hh
|
|
||||||
|
|
||||||
# /src/nix-hash/
|
# /src/nix-hash/
|
||||||
/src/nix-hash/nix-hash
|
/src/nix-hash/nix-hash
|
||||||
/src/nix-hash/help.txt.hh
|
|
||||||
|
|
||||||
# /src/nix-instantiate/
|
# /src/nix-instantiate/
|
||||||
/src/nix-instantiate/nix-instantiate
|
/src/nix-instantiate/nix-instantiate
|
||||||
/src/nix-instantiate/help.txt.hh
|
|
||||||
|
|
||||||
# /src/nix-log2xml/
|
# /src/nix-log2xml/
|
||||||
/src/nix-log2xml/nix-log2xml
|
/src/nix-log2xml/nix-log2xml
|
||||||
|
@ -108,15 +105,12 @@ Makefile.in
|
||||||
|
|
||||||
# /src/nix-setuid-helper/
|
# /src/nix-setuid-helper/
|
||||||
/src/nix-setuid-helper/nix-setuid-helper
|
/src/nix-setuid-helper/nix-setuid-helper
|
||||||
/src/nix-setuid-helper/help.txt.hh
|
|
||||||
|
|
||||||
# /src/nix-store/
|
# /src/nix-store/
|
||||||
/src/nix-store/help.txt.hh
|
|
||||||
/src/nix-store/nix-store
|
/src/nix-store/nix-store
|
||||||
|
|
||||||
# /src/nix-worker/
|
# /src/nix-worker/
|
||||||
/src/nix-worker/nix-worker
|
/src/nix-worker/nix-worker
|
||||||
/src/nix-worker/help.txt.hh
|
|
||||||
|
|
||||||
# /tests/
|
# /tests/
|
||||||
/tests/test-tmp
|
/tests/test-tmp
|
||||||
|
|
|
@ -33,36 +33,14 @@ for (my $n = 0; $n < scalar @ARGV; $n++) {
|
||||||
my $arg = $ARGV[$n];
|
my $arg = $ARGV[$n];
|
||||||
|
|
||||||
if ($arg eq "--help") {
|
if ($arg eq "--help") {
|
||||||
print STDERR <<EOF;
|
exec "man nix-build" or die;
|
||||||
Usage: nix-build [OPTION]... [FILE]...
|
|
||||||
|
|
||||||
`nix-build' builds the given Nix expressions (which
|
|
||||||
default to ./default.nix if none are given). A symlink called
|
|
||||||
`result' is placed in the current directory.
|
|
||||||
|
|
||||||
Flags:
|
|
||||||
--add-drv-link: create a symlink `derivation' to the store derivation
|
|
||||||
--drv-link NAME: create symlink NAME instead of `derivation'
|
|
||||||
--no-out-link: do not create the `result' symlink
|
|
||||||
--out-link / -o NAME: create symlink NAME instead of `result'
|
|
||||||
--attr / -A ATTR: select a specific attribute from the Nix expression
|
|
||||||
|
|
||||||
--run-env: build dependencies of the specified derivation, then start a
|
|
||||||
shell with the environment of the derivation
|
|
||||||
--command: command to run with `--run-env'
|
|
||||||
--exclude: regexp specifying dependencies to be excluded by `--run-env'
|
|
||||||
|
|
||||||
Any additional flags are passed to `nix-store'.
|
|
||||||
EOF
|
|
||||||
exit 0;
|
|
||||||
# '` hack
|
|
||||||
}
|
}
|
||||||
|
|
||||||
elsif ($arg eq "--version") {
|
elsif ($arg eq "--version") {
|
||||||
print "nix-build (Nix) $Nix::Config::version\n";
|
print "nix-build (Nix) $Nix::Config::version\n";
|
||||||
exit 0;
|
exit 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
elsif ($arg eq "--add-drv-link") {
|
elsif ($arg eq "--add-drv-link") {
|
||||||
$drvLink = "./derivation";
|
$drvLink = "./derivation";
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@ sub removeChannel {
|
||||||
writeChannels;
|
writeChannels;
|
||||||
|
|
||||||
system("$Nix::Config::binDir/nix-env --profile '$profile' -e '$name'") == 0
|
system("$Nix::Config::binDir/nix-env --profile '$profile' -e '$name'") == 0
|
||||||
or die "cannot remove channel `$name'";
|
or die "cannot remove channel `$name'\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ sub update {
|
||||||
my $fullURL = "$url/nixexprs.tar.bz2";
|
my $fullURL = "$url/nixexprs.tar.bz2";
|
||||||
print STDERR "downloading Nix expressions from `$fullURL'...\n";
|
print STDERR "downloading Nix expressions from `$fullURL'...\n";
|
||||||
my ($hash, $path) = `PRINT_PATH=1 QUIET=1 $Nix::Config::binDir/nix-prefetch-url '$fullURL'`;
|
my ($hash, $path) = `PRINT_PATH=1 QUIET=1 $Nix::Config::binDir/nix-prefetch-url '$fullURL'`;
|
||||||
die "cannot fetch `$fullURL'" if $? != 0;
|
die "cannot fetch `$fullURL'\n" if $? != 0;
|
||||||
chomp $path;
|
chomp $path;
|
||||||
|
|
||||||
# If the URL contains a version number, append it to the name
|
# If the URL contains a version number, append it to the name
|
||||||
|
@ -153,26 +153,14 @@ sub update {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub usageError {
|
die "$0: argument expected\n" if scalar @ARGV == 0;
|
||||||
print STDERR <<EOF;
|
|
||||||
Usage:
|
|
||||||
nix-channel --add URL [CHANNEL-NAME]
|
|
||||||
nix-channel --remove CHANNEL-NAME
|
|
||||||
nix-channel --list
|
|
||||||
nix-channel --update [CHANNEL-NAME...]
|
|
||||||
EOF
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
usageError if scalar @ARGV == 0;
|
|
||||||
|
|
||||||
|
|
||||||
while (scalar @ARGV) {
|
while (scalar @ARGV) {
|
||||||
my $arg = shift @ARGV;
|
my $arg = shift @ARGV;
|
||||||
|
|
||||||
if ($arg eq "--add") {
|
if ($arg eq "--add") {
|
||||||
usageError if scalar @ARGV < 1 || scalar @ARGV > 2;
|
die "$0: `--add' requires one or two arguments\n" if scalar @ARGV < 1 || scalar @ARGV > 2;
|
||||||
my $url = shift @ARGV;
|
my $url = shift @ARGV;
|
||||||
my $name = shift @ARGV;
|
my $name = shift @ARGV;
|
||||||
unless (defined $name) {
|
unless (defined $name) {
|
||||||
|
@ -185,13 +173,13 @@ while (scalar @ARGV) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($arg eq "--remove") {
|
if ($arg eq "--remove") {
|
||||||
usageError if scalar @ARGV != 1;
|
die "$0: `--remove' requires one argument\n" if scalar @ARGV != 1;
|
||||||
removeChannel(shift @ARGV);
|
removeChannel(shift @ARGV);
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($arg eq "--list") {
|
if ($arg eq "--list") {
|
||||||
usageError if scalar @ARGV != 0;
|
die "$0: `--list' requires one argument\n" if scalar @ARGV != 0;
|
||||||
readChannels;
|
readChannels;
|
||||||
foreach my $name (keys %channels) {
|
foreach my $name (keys %channels) {
|
||||||
print "$name $channels{$name}\n";
|
print "$name $channels{$name}\n";
|
||||||
|
@ -205,7 +193,7 @@ while (scalar @ARGV) {
|
||||||
}
|
}
|
||||||
|
|
||||||
elsif ($arg eq "--help") {
|
elsif ($arg eq "--help") {
|
||||||
usageError;
|
exec "man nix-channel" or die;
|
||||||
}
|
}
|
||||||
|
|
||||||
elsif ($arg eq "--version") {
|
elsif ($arg eq "--version") {
|
||||||
|
@ -214,6 +202,6 @@ while (scalar @ARGV) {
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
die "unknown argument `$arg'; try `--help'";
|
die "unknown argument `$arg'; try `--help'\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,8 @@ for my $arg (@ARGV) {
|
||||||
$removeOld = 1;
|
$removeOld = 1;
|
||||||
} elsif ($arg eq "--dry-run") {
|
} elsif ($arg eq "--dry-run") {
|
||||||
$dryRun = 1;
|
$dryRun = 1;
|
||||||
|
} elsif ($arg eq "--help") {
|
||||||
|
exec "man nix-collect-garbage" or die;
|
||||||
} else {
|
} else {
|
||||||
push @args, $arg;
|
push @args, $arg;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,8 +37,11 @@ my @storePaths = ();
|
||||||
|
|
||||||
while (@ARGV) {
|
while (@ARGV) {
|
||||||
my $arg = shift @ARGV;
|
my $arg = shift @ARGV;
|
||||||
|
|
||||||
if ($arg eq "--sign") {
|
if ($arg eq "--help") {
|
||||||
|
exec "man nix-copy-closure" or die;
|
||||||
|
}
|
||||||
|
elsif ($arg eq "--sign") {
|
||||||
$sign = 1;
|
$sign = 1;
|
||||||
}
|
}
|
||||||
elsif ($arg eq "--gzip") {
|
elsif ($arg eq "--gzip") {
|
||||||
|
@ -92,7 +95,7 @@ else { # Copy FROM the remote machine.
|
||||||
my $extraOpts = $includeOutputs ? "--include-outputs" : "";
|
my $extraOpts = $includeOutputs ? "--include-outputs" : "";
|
||||||
my $pid = open(READ,
|
my $pid = open(READ,
|
||||||
"set -f; ssh @sshOpts $sshHost nix-store --query --requisites $extraOpts @storePaths|") or die;
|
"set -f; ssh @sshOpts $sshHost nix-store --query --requisites $extraOpts @storePaths|") or die;
|
||||||
|
|
||||||
while (<READ>) {
|
while (<READ>) {
|
||||||
chomp;
|
chomp;
|
||||||
die "bad: $_" unless /^\//;
|
die "bad: $_" unless /^\//;
|
||||||
|
@ -106,7 +109,7 @@ else { # Copy FROM the remote machine.
|
||||||
print STDERR "copying ", scalar @missing, " missing paths from ‘$sshHost’...\n";
|
print STDERR "copying ", scalar @missing, " missing paths from ‘$sshHost’...\n";
|
||||||
$compressor = "| $compressor" if $compressor ne "";
|
$compressor = "| $compressor" if $compressor ne "";
|
||||||
$decompressor = "$decompressor |" if $decompressor ne "";
|
$decompressor = "$decompressor |" if $decompressor ne "";
|
||||||
$progressViewer = "$progressViewer |" if $progressViewer ne "";
|
$progressViewer = "$progressViewer |" if $progressViewer ne "";
|
||||||
unless ($dryRun) {
|
unless ($dryRun) {
|
||||||
my $extraOpts = $sign ? "--sign" : "";
|
my $extraOpts = $sign ? "--sign" : "";
|
||||||
system("set -f; ssh $sshHost @sshOpts 'nix-store --export $extraOpts @missing $compressor' | $progressViewer $decompressor $Nix::Config::binDir/nix-store --import > /dev/null") == 0
|
system("set -f; ssh $sshHost @sshOpts 'nix-store --export $extraOpts @missing $compressor' | $progressViewer $decompressor $Nix::Config::binDir/nix-store --import > /dev/null") == 0
|
||||||
|
|
|
@ -6,25 +6,8 @@ use Nix::Config;
|
||||||
use Nix::Utils;
|
use Nix::Utils;
|
||||||
|
|
||||||
|
|
||||||
sub usageError {
|
|
||||||
print STDERR <<EOF;
|
|
||||||
Usage: nix-install-package (FILE | --url URL)
|
|
||||||
|
|
||||||
Install a Nix Package (.nixpkg) either directly from FILE or by
|
|
||||||
downloading it from URL.
|
|
||||||
|
|
||||||
Flags:
|
|
||||||
--profile / -p LINK: install into the specified profile
|
|
||||||
--non-interactive: don't run inside a new terminal
|
|
||||||
EOF
|
|
||||||
; # '
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Parse the command line arguments.
|
# Parse the command line arguments.
|
||||||
my @args = @ARGV;
|
my @args = @ARGV;
|
||||||
usageError if scalar @args == 0;
|
|
||||||
|
|
||||||
my $source;
|
my $source;
|
||||||
my $fromURL = 0;
|
my $fromURL = 0;
|
||||||
|
@ -34,14 +17,14 @@ my $interactive = 1;
|
||||||
while (scalar @args) {
|
while (scalar @args) {
|
||||||
my $arg = shift @args;
|
my $arg = shift @args;
|
||||||
if ($arg eq "--help") {
|
if ($arg eq "--help") {
|
||||||
usageError;
|
exec "man nix-install-package" or die;
|
||||||
}
|
}
|
||||||
elsif ($arg eq "--url") {
|
elsif ($arg eq "--url") {
|
||||||
$fromURL = 1;
|
$fromURL = 1;
|
||||||
}
|
}
|
||||||
elsif ($arg eq "--profile" || $arg eq "-p") {
|
elsif ($arg eq "--profile" || $arg eq "-p") {
|
||||||
my $profile = shift @args;
|
my $profile = shift @args;
|
||||||
usageError if !defined $profile;
|
die "$0: `--profile' requires an argument\n" if !defined $profile;
|
||||||
push @extraNixEnvArgs, "-p", $profile;
|
push @extraNixEnvArgs, "-p", $profile;
|
||||||
}
|
}
|
||||||
elsif ($arg eq "--non-interactive") {
|
elsif ($arg eq "--non-interactive") {
|
||||||
|
@ -52,7 +35,7 @@ while (scalar @args) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
usageError unless defined $source;
|
die "$0: please specify a .nixpkg file or URL\n" unless defined $source;
|
||||||
|
|
||||||
|
|
||||||
# Re-execute in a terminal, if necessary, so that if we're executed
|
# Re-execute in a terminal, if necessary, so that if we're executed
|
||||||
|
|
|
@ -89,7 +89,9 @@ sub processURL {
|
||||||
|
|
||||||
while (@ARGV) {
|
while (@ARGV) {
|
||||||
my $url = shift @ARGV;
|
my $url = shift @ARGV;
|
||||||
if ($url eq "--skip-wrong-store") {
|
if ($url eq "--help") {
|
||||||
|
exec "man nix-pull" or die;
|
||||||
|
} elsif ($url eq "--skip-wrong-store") {
|
||||||
# No-op, no longer supported.
|
# No-op, no longer supported.
|
||||||
} else {
|
} else {
|
||||||
processURL $url;
|
processURL $url;
|
||||||
|
|
|
@ -24,22 +24,11 @@ my $writeManifest = 0;
|
||||||
my $archivesURL;
|
my $archivesURL;
|
||||||
my @roots;
|
my @roots;
|
||||||
|
|
||||||
sub showSyntax {
|
|
||||||
print STDERR <<EOF
|
|
||||||
Usage: nix-push --dest DIR [--manifest] [--url-prefix URL] PATHS...
|
|
||||||
|
|
||||||
`nix-push' packs the closure of PATHS into a set of NAR files stored
|
|
||||||
in DIR. Optionally generate a manifest.
|
|
||||||
EOF
|
|
||||||
; # `
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (my $n = 0; $n < scalar @ARGV; $n++) {
|
for (my $n = 0; $n < scalar @ARGV; $n++) {
|
||||||
my $arg = $ARGV[$n];
|
my $arg = $ARGV[$n];
|
||||||
|
|
||||||
if ($arg eq "--help") {
|
if ($arg eq "--help") {
|
||||||
showSyntax;
|
exec "man nix-push" or die;
|
||||||
} elsif ($arg eq "--bzip2") {
|
} elsif ($arg eq "--bzip2") {
|
||||||
$compressionType = "bzip2";
|
$compressionType = "bzip2";
|
||||||
} elsif ($arg eq "--force") {
|
} elsif ($arg eq "--force") {
|
||||||
|
@ -56,13 +45,13 @@ for (my $n = 0; $n < scalar @ARGV; $n++) {
|
||||||
die "$0: `$arg' requires an argument\n" unless $n < scalar @ARGV;
|
die "$0: `$arg' requires an argument\n" unless $n < scalar @ARGV;
|
||||||
$archivesURL = $ARGV[$n];
|
$archivesURL = $ARGV[$n];
|
||||||
} elsif (substr($arg, 0, 1) eq "-") {
|
} elsif (substr($arg, 0, 1) eq "-") {
|
||||||
showSyntax;
|
die "$0: unknown flag `$arg'\n";
|
||||||
} else {
|
} else {
|
||||||
push @roots, $arg;
|
push @roots, $arg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
showSyntax if !defined $destDir;
|
die "$0: please specify a destination directory\n" if !defined $destDir;
|
||||||
|
|
||||||
$archivesURL = "file://$destDir" unless defined $archivesURL;
|
$archivesURL = "file://$destDir" unless defined $archivesURL;
|
||||||
|
|
||||||
|
|
|
@ -91,6 +91,7 @@ string getArg(const string & opt,
|
||||||
return *i;
|
return *i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Initialize and reorder arguments, then call the actual argument
|
/* Initialize and reorder arguments, then call the actual argument
|
||||||
processor. */
|
processor. */
|
||||||
static void initAndRun(int argc, char * * argv)
|
static void initAndRun(int argc, char * * argv)
|
||||||
|
@ -275,6 +276,14 @@ static void * oomHandler(size_t requested)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void showManPage(const string & name)
|
||||||
|
{
|
||||||
|
string cmd = "man " + name;
|
||||||
|
if (system(cmd.c_str()) != 0)
|
||||||
|
throw Error(format("command `%1%' failed") % cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int exitCode = 0;
|
int exitCode = 0;
|
||||||
char * * argvSaved = 0;
|
char * * argvSaved = 0;
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,9 @@ template<class N> N getIntArg(const string & opt,
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Show the manual page for the specified program. */
|
||||||
|
void showManPage(const string & name);
|
||||||
|
|
||||||
/* Whether we're running setuid. */
|
/* Whether we're running setuid. */
|
||||||
extern bool setuidMode;
|
extern bool setuidMode;
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,11 @@
|
||||||
bin_PROGRAMS = nix-env
|
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 \
|
nix_env_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \
|
||||||
../libstore/libstore.la ../libutil/libutil.la \
|
../libstore/libstore.la ../libutil/libutil.la \
|
||||||
../boost/format/libformat.la
|
../boost/format/libformat.la
|
||||||
|
|
||||||
nix-env.o: help.txt.hh
|
|
||||||
|
|
||||||
%.txt.hh: %.txt
|
|
||||||
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
|
|
||||||
|
|
||||||
AM_CXXFLAGS = \
|
AM_CXXFLAGS = \
|
||||||
-I$(srcdir)/.. \
|
-I$(srcdir)/.. \
|
||||||
-I$(srcdir)/../libutil -I$(srcdir)/../libstore \
|
-I$(srcdir)/../libutil -I$(srcdir)/../libstore \
|
||||||
|
|
|
@ -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
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include "misc.hh"
|
#include "misc.hh"
|
||||||
#include "shared.hh"
|
#include "shared.hh"
|
||||||
#include "eval.hh"
|
#include "eval.hh"
|
||||||
#include "help.txt.hh"
|
|
||||||
#include "get-drvs.hh"
|
#include "get-drvs.hh"
|
||||||
#include "attr-path.hh"
|
#include "attr-path.hh"
|
||||||
#include "common-opts.hh"
|
#include "common-opts.hh"
|
||||||
|
@ -66,7 +65,7 @@ typedef void (* Operation) (Globals & globals,
|
||||||
|
|
||||||
void printHelp()
|
void printHelp()
|
||||||
{
|
{
|
||||||
cout << string((char *) helpText);
|
showManPage("nix-env");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,8 @@
|
||||||
bin_PROGRAMS = nix-hash
|
bin_PROGRAMS = nix-hash
|
||||||
|
|
||||||
nix_hash_SOURCES = nix-hash.cc help.txt
|
nix_hash_SOURCES = nix-hash.cc
|
||||||
nix_hash_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
|
nix_hash_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
|
||||||
../boost/format/libformat.la
|
../boost/format/libformat.la
|
||||||
|
|
||||||
nix-hash.o: help.txt.hh
|
|
||||||
|
|
||||||
%.txt.hh: %.txt
|
|
||||||
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
|
|
||||||
|
|
||||||
AM_CXXFLAGS = \
|
AM_CXXFLAGS = \
|
||||||
-I$(srcdir)/.. -I$(srcdir)/../libutil -I$(srcdir)/../libstore -I$(srcdir)/../libmain
|
-I$(srcdir)/.. -I$(srcdir)/../libutil -I$(srcdir)/../libstore -I$(srcdir)/../libmain
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
Usage: nix-hash [OPTIONS...] [FILES...]
|
|
||||||
|
|
||||||
`nix-hash' computes and prints cryptographic hashes for the specified
|
|
||||||
files.
|
|
||||||
|
|
||||||
--flat: compute hash of regular file contents, not metadata
|
|
||||||
--base32: print hash in base-32 instead of hexadecimal
|
|
||||||
--type HASH: use hash algorithm HASH ("md5" (default), "sha1", "sha256")
|
|
||||||
--truncate: truncate the hash to 160 bits
|
|
|
@ -1,6 +1,5 @@
|
||||||
#include "hash.hh"
|
#include "hash.hh"
|
||||||
#include "shared.hh"
|
#include "shared.hh"
|
||||||
#include "help.txt.hh"
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
@ -10,7 +9,7 @@ using namespace nix;
|
||||||
|
|
||||||
void printHelp()
|
void printHelp()
|
||||||
{
|
{
|
||||||
std::cout << string((char *) helpText);
|
showManPage("nix-hash");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
bin_PROGRAMS = nix-instantiate
|
bin_PROGRAMS = nix-instantiate
|
||||||
|
|
||||||
nix_instantiate_SOURCES = nix-instantiate.cc help.txt
|
nix_instantiate_SOURCES = nix-instantiate.cc
|
||||||
nix_instantiate_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \
|
nix_instantiate_LDADD = ../libmain/libmain.la ../libexpr/libexpr.la \
|
||||||
../libstore/libstore.la ../libutil/libutil.la \
|
../libstore/libstore.la ../libutil/libutil.la \
|
||||||
../boost/format/libformat.la
|
../boost/format/libformat.la
|
||||||
|
|
||||||
nix-instantiate.o: help.txt.hh
|
|
||||||
|
|
||||||
%.txt.hh: %.txt
|
|
||||||
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
|
|
||||||
|
|
||||||
AM_CXXFLAGS = \
|
AM_CXXFLAGS = \
|
||||||
-I$(srcdir)/.. -I$(srcdir)/../libutil -I$(srcdir)/../libstore \
|
-I$(srcdir)/.. -I$(srcdir)/../libutil -I$(srcdir)/../libstore \
|
||||||
-I$(srcdir)/../libexpr -I$(srcdir)/../libmain -I../libexpr
|
-I$(srcdir)/../libexpr -I$(srcdir)/../libmain -I../libexpr
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
Usage: nix-instantiate [OPTIONS...] [FILES...]
|
|
||||||
|
|
||||||
`nix-instantiate' turns Nix expressions into store derivations.
|
|
||||||
|
|
||||||
The argument `-' may be specified to read a Nix expression from
|
|
||||||
standard input.
|
|
||||||
|
|
||||||
Options:
|
|
||||||
|
|
||||||
--version: output version information
|
|
||||||
--help: display help
|
|
||||||
|
|
||||||
--verbose / -v: verbose operation (may be repeated)
|
|
||||||
|
|
||||||
--eval-only: evaluate and print resulting term; do not instantiate
|
|
||||||
--parse-only: parse and print abstract syntax tree
|
|
||||||
|
|
||||||
--attr / -A PATH: select an attribute from the top-level expression
|
|
||||||
|
|
||||||
--add-root: add garbage collector roots for the result
|
|
||||||
|
|
||||||
For --eval-only / --parse-only:
|
|
||||||
|
|
||||||
--xml: print an XML representation of the abstract syntax tree
|
|
||||||
--no-location: don't provide source location information in the
|
|
||||||
output XML tree
|
|
||||||
|
|
||||||
For --eval-only:
|
|
||||||
|
|
||||||
--strict: compute attributes and list elements, rather than being
|
|
||||||
lazy
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include "util.hh"
|
#include "util.hh"
|
||||||
#include "store-api.hh"
|
#include "store-api.hh"
|
||||||
#include "common-opts.hh"
|
#include "common-opts.hh"
|
||||||
#include "help.txt.hh"
|
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
@ -19,7 +18,7 @@ using namespace nix;
|
||||||
|
|
||||||
void printHelp()
|
void printHelp()
|
||||||
{
|
{
|
||||||
std::cout << string((char *) helpText);
|
showManPage("nix-instantiate");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,12 @@
|
||||||
bin_PROGRAMS = nix-store
|
bin_PROGRAMS = nix-store
|
||||||
|
|
||||||
nix_store_SOURCES = \
|
nix_store_SOURCES = \
|
||||||
nix-store.cc dotgraph.cc dotgraph.hh help.txt \
|
nix-store.cc dotgraph.cc dotgraph.hh \
|
||||||
xmlgraph.cc xmlgraph.hh
|
xmlgraph.cc xmlgraph.hh
|
||||||
|
|
||||||
nix_store_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
|
nix_store_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
|
||||||
../boost/format/libformat.la -lbz2
|
../boost/format/libformat.la -lbz2
|
||||||
|
|
||||||
nix-store.o: help.txt.hh
|
|
||||||
|
|
||||||
%.txt.hh: %.txt
|
|
||||||
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
|
|
||||||
|
|
||||||
AM_CXXFLAGS = \
|
AM_CXXFLAGS = \
|
||||||
-I$(srcdir)/.. -I$(srcdir)/../libutil \
|
-I$(srcdir)/.. -I$(srcdir)/../libutil \
|
||||||
-I$(srcdir)/../libstore -I$(srcdir)/../libmain
|
-I$(srcdir)/../libstore -I$(srcdir)/../libmain
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
Usage: nix-store [OPTIONS...] [ARGUMENTS...]
|
|
||||||
|
|
||||||
`nix-store' is a tool to manipulate the Nix store.
|
|
||||||
|
|
||||||
Operations:
|
|
||||||
|
|
||||||
--realise / -r: ensure path validity; if a derivation, ensure the
|
|
||||||
validity of the outputs
|
|
||||||
--add / -A: copy a path to the Nix store
|
|
||||||
--delete: safely delete paths from the Nix store
|
|
||||||
--query / -q: query information
|
|
||||||
--read-log / -l: print build log of given store paths
|
|
||||||
|
|
||||||
--register-validity: register path validity (dangerous!)
|
|
||||||
--check-validity: check path validity
|
|
||||||
|
|
||||||
--gc: run the garbage collector
|
|
||||||
|
|
||||||
--dump: dump a path as a Nix archive (NAR), forgetting dependencies
|
|
||||||
--restore: restore a path from a Nix archive, without
|
|
||||||
registering validity
|
|
||||||
|
|
||||||
--export: export a path as a Nix archive, marking dependencies
|
|
||||||
--import: import a path from a Nix archive, and register as
|
|
||||||
valid
|
|
||||||
|
|
||||||
--verify: verify Nix structures
|
|
||||||
--verify-path: verify whether the given store paths haven't been modified
|
|
||||||
--optimise: optimise the Nix store by hard-linking identical files
|
|
||||||
|
|
||||||
--query-failed-paths: list paths that failed to build (if enabled)
|
|
||||||
--clear-failed-paths: clear the failed status of the given paths
|
|
||||||
|
|
||||||
--version: output version information
|
|
||||||
--help: display help
|
|
||||||
|
|
||||||
Query flags:
|
|
||||||
|
|
||||||
--outputs: query the output paths of a Nix derivation (default)
|
|
||||||
--requisites / -R: print all paths necessary to realise the path
|
|
||||||
--references: print all paths referenced by the path
|
|
||||||
--referrers: print all paths directly refering to the path
|
|
||||||
--referrers-closure: print all paths (in)directly refering to the path
|
|
||||||
--tree: print a tree showing the dependency graph of the path
|
|
||||||
--graph: print a dot graph rooted at given path
|
|
||||||
--xml: emit an XML representation of the graph rooted at the given path
|
|
||||||
--hash: print the SHA-256 hash of the contents of the path
|
|
||||||
--size: print the size of the NAR dump of the path
|
|
||||||
--roots: print the garbage collector roots that point to the path
|
|
||||||
|
|
||||||
Query switches (not applicable to all queries):
|
|
||||||
|
|
||||||
--use-output: perform query on output of derivation, not derivation itself
|
|
||||||
--force-realise: realise the path before performing the query
|
|
||||||
--include-outputs: in `-R' on a derivation, include requisites of outputs
|
|
||||||
|
|
||||||
Garbage collector options:
|
|
||||||
|
|
||||||
--print-roots: print GC roots and exit
|
|
||||||
--print-live: print live paths and exit
|
|
||||||
--print-dead: print dead paths and exit
|
|
||||||
--delete: delete dead paths (default)
|
|
||||||
|
|
||||||
Options:
|
|
||||||
|
|
||||||
--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
|
|
||||||
|
|
||||||
--add-root: add garbage collector roots for the result
|
|
|
@ -6,7 +6,6 @@
|
||||||
#include "xmlgraph.hh"
|
#include "xmlgraph.hh"
|
||||||
#include "local-store.hh"
|
#include "local-store.hh"
|
||||||
#include "util.hh"
|
#include "util.hh"
|
||||||
#include "help.txt.hh"
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
@ -29,7 +28,7 @@ typedef void (* Operation) (Strings opFlags, Strings opArgs);
|
||||||
|
|
||||||
void printHelp()
|
void printHelp()
|
||||||
{
|
{
|
||||||
cout << string((char *) helpText);
|
showManPage("nix-store");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,9 @@
|
||||||
bin_PROGRAMS = nix-worker
|
bin_PROGRAMS = nix-worker
|
||||||
|
|
||||||
nix_worker_SOURCES = nix-worker.cc help.txt
|
nix_worker_SOURCES = nix-worker.cc
|
||||||
nix_worker_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
|
nix_worker_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
|
||||||
../boost/format/libformat.la
|
../boost/format/libformat.la
|
||||||
|
|
||||||
nix-worker.o: help.txt.hh
|
|
||||||
|
|
||||||
%.txt.hh: %.txt
|
|
||||||
../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1)
|
|
||||||
|
|
||||||
AM_CXXFLAGS = \
|
AM_CXXFLAGS = \
|
||||||
-I$(srcdir)/.. -I$(srcdir)/../libutil \
|
-I$(srcdir)/.. -I$(srcdir)/../libutil \
|
||||||
-I$(srcdir)/../libstore -I$(srcdir)/../libmain
|
-I$(srcdir)/../libstore -I$(srcdir)/../libmain
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
Usage: nix-worker [OPTIONS...] [--daemon | --slave]
|
|
||||||
|
|
||||||
`nix-worker' is a helper program used to implement secure, multi-user
|
|
||||||
Nix stores. In `--daemon' mode, it goes into the background and waits
|
|
||||||
for incoming connections on a Unix domain socket, and forks a process
|
|
||||||
for each connection to perform the Nix store operations requested by
|
|
||||||
the caller. In `--slave' mode, `nix-worker' is called directly, and
|
|
||||||
the caller and the worker communicate with each other over
|
|
||||||
stdin/stdout. In this mode, the `nix-worker' program should have
|
|
||||||
appropriate setuid privileges.
|
|
|
@ -923,11 +923,9 @@ void run(Strings args)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#include "help.txt.hh"
|
|
||||||
|
|
||||||
void printHelp()
|
void printHelp()
|
||||||
{
|
{
|
||||||
std::cout << string((char *) helpText);
|
showManPage("nix-worker");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue