diff options
Diffstat (limited to 'clef/nix/bom.nix')
| -rw-r--r-- | clef/nix/bom.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/clef/nix/bom.nix b/clef/nix/bom.nix new file mode 100644 index 0000000..7644939 --- /dev/null +++ b/clef/nix/bom.nix @@ -0,0 +1,38 @@ +{ + runCommand, + interactiveHtmlBom, + + nix-filter, + lib, + + pcb_path, + src, + + boardName ? (lib.removeSuffix ".kicad_pcb" (builtins.baseNameOf pcb_path)), + extraArgs ? [], +}: let + sharePath = "share/npry/clef/bom"; + +in runCommand "${boardName}.bom" { + nativeBuildInputs = [ + interactiveHtmlBom + ]; + + INTERACTIVE_HTML_BOM_NO_DISPLAY = 1; + + src = nix-filter { + root = src; + + include = [ + (nix-filter.matchExt "kicad_pcb") + (nix-filter.matchExt "kicad_pro") + ]; + }; +} '' + mkdir -p "$out/${sharePath}" + + generate_interactive_bom \ + --dest-dir "$out/${sharePath}" \ + ${lib.concatMapStrings (arg: "${arg} \\n") extraArgs} \ + "$src/${pcb_path}" +'' |
