tangled
alpha
login
or
join now
oeiuwq.com
/
import-tree
2
fork
atom
Import all nix files in a directory tree. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/
dendrix.oeiuwq.com/Dendritic.html
dendritic
inputs
2
fork
atom
overview
issues
pulls
pipelines
Update README.md
authored by
oeiuwq.com
and committed by
GitHub
3 weeks ago
c9c89918
78c35e32
+41
-2
1 changed file
expand all
collapse all
unified
split
README.md
+41
-2
README.md
···
13
13
14
14
> Recursively import [Nix modules](https://nix.dev/tutorials/module-system/) from a directory, with a simple, extensible API.
15
15
16
16
-
## Quick Start (flake-parts)
16
16
+
## Quick Start
17
17
+
18
18
+
The following examples show how to import all module files.
19
19
+
By default, paths having `/_` are ignored. See API documentation for advanced usage.
20
20
+
21
21
+
### Dendritic flake-parts
17
22
18
23
```nix
24
24
+
# flake.nix
19
25
{
20
26
inputs.import-tree.url = "github:vic/import-tree";
21
27
inputs.flake-parts.url = "github:hercules-ci/flake-parts";
···
25
31
}
26
32
```
27
33
28
28
-
By default, paths having `/_` are ignored.
34
34
+
### Dendritic flake without flake-parts
35
35
+
36
36
+
```nix
37
37
+
# flake.nix
38
38
+
{
39
39
+
inputs.import-tree.url = "github:vic/import-tree";
40
40
+
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
41
41
+
42
42
+
outputs = inputs:
43
43
+
(inputs.nixpkgs.lib.evalModules {
44
44
+
specialArgs.inputs = inputs;
45
45
+
modules = [ (inputs.import-tree ./modules) ];
46
46
+
}).config;
47
47
+
}
48
48
+
```
49
49
+
50
50
+
### Dendritic non-flake
51
51
+
52
52
+
This example uses [with-inputs](https://github.com/vic/with-inputs) to provide flake-file inputs from [npins](https://github.com/andir/npins) sources.
53
53
+
54
54
+
```nix
55
55
+
# default.nix
56
56
+
let
57
57
+
sources = import ./npins;
58
58
+
with-inputs = import sources.with-inputs;
59
59
+
outputs = inputs:
60
60
+
(inputs.nixpkgs.lib.evalModules {
61
61
+
specialArgs.inputs = inputs;
62
62
+
modules = [ (inputs.import-tree ./modules) ];
63
63
+
}).config;
64
64
+
in
65
65
+
with-inputs sources {} outputs
66
66
+
```
67
67
+
29
68
30
69
## Features
31
70