From f081aa9e2f243ffe6ea13024e3777626a8243aed Mon Sep 17 00:00:00 2001 From: Nathan Perry Date: Thu, 15 Aug 2024 04:25:39 -0400 Subject: clef/nix: support generating interactivehtmlbom --- clef/nix/bom.nix | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 clef/nix/bom.nix (limited to 'clef/nix/bom.nix') 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}" +'' -- cgit v1.3.1