diff options
author | Shea Levy <shea@shealevy.com> | 2014-02-04T14·17-0500 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-02-07T17·03+0100 |
commit | 0c3e8a616e8e243ee45c78491fe86f50230d82b9 (patch) | |
tree | 0e5c7248af0162401231e9d84a958de0601ce1b4 | |
parent | 0432bc52ea21bb7b60477965054362f7414c569f (diff) |
nix-instantiate: Add a --no-readonly-mode flag
This allows running nix-instantiate --eval-only without performing the evaluation in readonly mode, letting features like import from derivation and automatic substitution of builtins.storePath paths work. Signed-off-by: Shea Levy <shea@shealevy.com>
-rw-r--r-- | doc/manual/nix-instantiate.xml | 12 | ||||
-rw-r--r-- | src/nix-instantiate/nix-instantiate.cc | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/doc/manual/nix-instantiate.xml b/doc/manual/nix-instantiate.xml index 618b61f159dc..9488bb733833 100644 --- a/doc/manual/nix-instantiate.xml +++ b/doc/manual/nix-instantiate.xml @@ -35,6 +35,7 @@ <arg choice='plain'> <option>--eval-only</option> <arg><option>--strict</option></arg> + <arg><option>--no-readonly-mode</option></arg> </arg> <arg choice='plain'><option>--find-file</option></arg> </group> @@ -140,6 +141,17 @@ policies.</para> </varlistentry> + <varlistentry><term><option>--no-readonly-mode</option></term> + + <listitem><para>When used with <option>--eval-only</option>, + perform evaluation in read/write mode so nix language features + that require it will still work (at the cost of needing to do + instantiation of every evaluated derivation).</para> + + </listitem> + + </varlistentry> + </variablelist> <variablelist condition="manpage"> diff --git a/src/nix-instantiate/nix-instantiate.cc b/src/nix-instantiate/nix-instantiate.cc index b7f944062cec..1f4d1ffab8fb 100644 --- a/src/nix-instantiate/nix-instantiate.cc +++ b/src/nix-instantiate/nix-instantiate.cc @@ -107,6 +107,9 @@ void run(Strings args) settings.readOnlyMode = true; evalOnly = true; } + else if (arg == "--no-readonly-mode") { + settings.readOnlyMode = false; + } else if (arg == "--parse-only") { settings.readOnlyMode = true; parseOnly = evalOnly = true; |