From 982798292719a24bcbb4f9e17cd5c65c8a46ecda Mon Sep 17 00:00:00 2001 From: Nathan Perry Date: Mon, 2 Sep 2024 19:53:43 -0400 Subject: move hw into subdirectory --- hw/clef/nix/bom.nix | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 hw/clef/nix/bom.nix (limited to 'hw/clef/nix/bom.nix') diff --git a/hw/clef/nix/bom.nix b/hw/clef/nix/bom.nix new file mode 100644 index 0000000..fbff8ff --- /dev/null +++ b/hw/clef/nix/bom.nix @@ -0,0 +1,48 @@ +{ + runCommand, + interactiveHtmlBom, + + nix-filter, + lib, + + pcb_path, + src, + + boardName ? (lib.removeSuffix ".kicad_pcb" (builtins.baseNameOf pcb_path)), + extraArgs ? [ + "--dark-mode" + "--include-tracks" + "--include-nets" + ], +}: 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") + (nix-filter.matchExt "kicad_wks") + + (_args: path: type: type == "directory") + ]; + }; +} '' + mkdir -p "$out/${sharePath}" + + cd $src + + generate_interactive_bom \ + --dest-dir "$out/${sharePath}" \ + --no-browser \ + ${lib.concatMapStrings (arg: "${arg} \\\n") extraArgs} \ + "$src/${pcb_path}" +'' -- cgit v1.3.1