Import all nix files in a directory tree. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/ dendrix.oeiuwq.com/Dendritic.html
dendritic inputs

Update README.md

authored by oeiuwq.com and committed by

GitHub c9c89918 78c35e32

+41 -2
+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 - ## Quick Start (flake-parts) 16 + ## Quick Start 17 + 18 + The following examples show how to import all module files. 19 + By default, paths having `/_` are ignored. See API documentation for advanced usage. 20 + 21 + ### Dendritic flake-parts 17 22 18 23 ```nix 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 - By default, paths having `/_` are ignored. 34 + ### Dendritic flake without flake-parts 35 + 36 + ```nix 37 + # flake.nix 38 + { 39 + inputs.import-tree.url = "github:vic/import-tree"; 40 + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 41 + 42 + outputs = inputs: 43 + (inputs.nixpkgs.lib.evalModules { 44 + specialArgs.inputs = inputs; 45 + modules = [ (inputs.import-tree ./modules) ]; 46 + }).config; 47 + } 48 + ``` 49 + 50 + ### Dendritic non-flake 51 + 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 + 54 + ```nix 55 + # default.nix 56 + let 57 + sources = import ./npins; 58 + with-inputs = import sources.with-inputs; 59 + outputs = inputs: 60 + (inputs.nixpkgs.lib.evalModules { 61 + specialArgs.inputs = inputs; 62 + modules = [ (inputs.import-tree ./modules) ]; 63 + }).config; 64 + in 65 + with-inputs sources {} outputs 66 + ``` 67 + 29 68 30 69 ## Features 31 70