aboutsummaryrefslogtreecommitdiff
path: root/doc/manual
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2020-08-25 14:06:01 +0200
committerEelco Dolstra <edolstra@gmail.com>2020-08-25 14:06:01 +0200
commit7a02865b94f107de1c1ef797b89d45ecd3f01cf1 (patch)
tree8262f1c7aba5870569a9ed7ffd20e53723287b51 /doc/manual
parentf53b5f10585b1d4c939e45faf0dd2f4dacbca013 (diff)
Move import docs
Diffstat (limited to 'doc/manual')
-rw-r--r--doc/manual/src/expressions/builtins-prefix.md53
1 files changed, 0 insertions, 53 deletions
diff --git a/doc/manual/src/expressions/builtins-prefix.md b/doc/manual/src/expressions/builtins-prefix.md
index ae3bb150c..0f7c3d32f 100644
--- a/doc/manual/src/expressions/builtins-prefix.md
+++ b/doc/manual/src/expressions/builtins-prefix.md
@@ -13,56 +13,3 @@ For instance, `derivation` is also available as `builtins.derivation`.
`derivation` is described in [its own section](derivations.md).
- - `import` *path*; `builtins.import` *path*
-
- Load, parse and return the Nix expression in the file *path*. If
- *path* is a directory, the file ` default.nix ` in that directory
- is loaded. Evaluation aborts if the file doesn’t exist or contains
- an incorrect Nix expression. `import` implements Nix’s module
- system: you can put any Nix expression (such as a set or a
- function) in a separate file, and use it from Nix expressions in
- other files.
-
- > **Note**
- >
- > Unlike some languages, `import` is a regular function in Nix.
- > Paths using the angle bracket syntax (e.g., `import` *\<foo\>*)
- > are [normal path values](language-values.md).
-
- A Nix expression loaded by `import` must not contain any *free
- variables* (identifiers that are not defined in the Nix expression
- itself and are not built-in). Therefore, it cannot refer to
- variables that are in scope at the call site. For instance, if you
- have a calling expression
-
- ```nix
- rec {
- x = 123;
- y = import ./foo.nix;
- }
- ```
-
- then the following `foo.nix` will give an error:
-
- ```nix
- x + 456
- ```
-
- since `x` is not in scope in `foo.nix`. If you want `x` to be
- available in `foo.nix`, you should pass it as a function argument:
-
- ```nix
- rec {
- x = 123;
- y = import ./foo.nix x;
- }
- ```
-
- and
-
- ```nix
- x: x + 456
- ```
-
- (The function argument doesn’t have to be called `x` in `foo.nix`;
- any name would work.)