aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2023-03-28 09:35:49 +0200
committerJoachim Breitner <mail@joachim-breitner.de>2023-03-28 09:35:49 +0200
commit605c8f7789d9ef446c8f22d8c6a261b315be861d (patch)
tree3a24389df97b3ee07dfb54ab2d8e882d8e2570e4
parent56dc6ed8410510033b835d48b3bd22766e8349a0 (diff)
Docs: Explain why `import nixpkgs` works in flakes
-rw-r--r--src/libexpr/primops.cc11
-rw-r--r--src/nix/flake.md2
2 files changed, 10 insertions, 3 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 3641ee468..73ffe03d4 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -254,9 +254,14 @@ static RegisterPrimOp primop_import({
.args = {"path"},
// TODO turn "normal path values" into link below
.doc = R"(
- 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
+ Load, parse and return the Nix expression in the file *path*.
+
+ The value *path* is conveted to a string as described in `builtins.toString`.
+
+ 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
diff --git a/src/nix/flake.md b/src/nix/flake.md
index 8eaa41b96..cd9f656e3 100644
--- a/src/nix/flake.md
+++ b/src/nix/flake.md
@@ -317,6 +317,8 @@ The following attributes are supported in `flake.nix`:
also contains some metadata about the inputs. These are:
* `outPath`: The path in the Nix store of the flake's source tree.
+ This way, the attribute set can be passed to `import` as if it was a path,
+ as in the example above (`import nixpkgs`).
* `rev`: The commit hash of the flake's repository, if applicable.