aboutsummaryrefslogtreecommitdiff
path: root/nix/fabrication.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/fabrication.nix')
-rw-r--r--nix/fabrication.nix82
1 files changed, 0 insertions, 82 deletions
diff --git a/nix/fabrication.nix b/nix/fabrication.nix
deleted file mode 100644
index 18bc6f6..0000000
--- a/nix/fabrication.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- kicad,
- kikit,
- zip,
-
- runCommand,
-
- nix-filter,
- lib,
-
- src,
- pcb_path,
- sch_path,
-
- boardName ? (lib.removeSuffix ".kicad_pcb" (builtins.baseNameOf pcb_path)),
-
- fabHouse ? "jlcpcb",
- withAssembly ? true,
-}: let
- sharePath = "share/npry/clef/fab";
-
- fabSrc = nix-filter {
- root = src;
-
- include = [
- (nix-filter.matchExt "kicad_sch")
- (nix-filter.matchExt "kicad_wks")
- (nix-filter.matchExt "kicad_pcb")
- (nix-filter.matchExt "kicad_pro")
-
- (_args: path: type: type == "directory")
- ];
- };
-
-in runCommand "${boardName}.fab" {
- nativeBuildInputs = [
- kicad
- kikit
- zip
- ];
-
- src = fabSrc;
-
- allowedRequisites = [];
-} ''
- set -e
-
- export HOME=$(mktemp -d)
-
- echo "board: '${boardName}'" >&2
-
- mkdir -p "$out/${sharePath}"
- cd "$src"
-
- kikit fab ${fabHouse} \
- ${if withAssembly then "--assembly" else ""} \
- --no-drc \
- --schematic "${sch_path}" \
- --field 'LCSC Part #,LCSC Part No' \
- --missingError \
- "${pcb_path}" \
- "$out/${sharePath}"
-
- cd "$out/${sharePath}"
- rm -vf "gerbers.zip"
-
- pushd gerber
-
- # normalize
- for f in ${boardName}-*; do
- mv -nv "$f" "''${f#${boardName}-}"
- done
-
- for f in ${boardName}.*; do
- mv -nv "$f" "board''${f#${boardName}}"
- done
-
- popd
-
- zip -vj "gerbers.zip" gerber/*
- rm -vrf gerber
-''