about summary refs log tree commit diff
path: root/src/nix/main.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-06-07T14·17+0200
committerEelco Dolstra <edolstra@gmail.com>2017-06-07T14·17+0200
commitb8283773bd64d7da6859ed520ee19867742a03ba (patch)
tree040443ef177a1a5ec1795fe9bd52d2b050d2fee8 /src/nix/main.cc
parentc8cc50d46e78de7ae02c2cb7a5159e995c993f61 (diff)
nix: Make all options available as flags
Thus, instead of ‘--option <name> <value>’, you can write ‘--<name>
<value>’. So

  --option http-connections 100

becomes

  --http-connections 100

Apart from brevity, the difference is that it's not an error to set a
non-existent option via --option, but unrecognized arguments are
fatal.

Boolean options have special treatment: they're mapped to the
argument-less flags ‘--<name>’ and ‘--no-<name>’. E.g.

  --option auto-optimise-store false

becomes

  --no-auto-optimise-store
Diffstat (limited to 'src/nix/main.cc')
-rw-r--r--src/nix/main.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nix/main.cc b/src/nix/main.cc
index 216f0bccef11..f83843415e3b 100644
--- a/src/nix/main.cc
+++ b/src/nix/main.cc
@@ -22,6 +22,8 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs
         });
 
         mkFlag(0, "version", "show version information", std::bind(printVersion, programName));
+
+        settings.convertToArgs(*this);
     }
 };