aboutsummaryrefslogtreecommitdiff
path: root/clef/nix/board.nix
blob: 5de46e09a3f7ca80b04466b4e11fc03537d3fca1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
  runCommand,

  svg,
  model,
  fabrication,
  schematic,
  panel,
  panelSrc,
  bom,

  name,
  outPath,
}: let
  pkg = runCommand name {} ''
    set -e

    mkdir -p "$out/${outPath}"
    cd "$out/${outPath}"

    echo "populating $(pwd)"

    cp --reflink=auto -vr "${schematic}/share/npry/clef/schematic"  ./
    cp --reflink=auto -vr "${svg}/share/npry/clef/svg"              ./
    cp --reflink=auto -vr "${fabrication}/share/npry/clef/fab"      ./
    cp --reflink=auto -vr "${model}/share/npry/clef/model"          ./
    cp --reflink=auto -vr "${bom}/share/npry/clef/bom"              ./

    ${if panelSrc != null then ''
    cp --reflink=auto -vr "${panelSrc}/share/npry/clef/panel"       ./
    '' else ""}
  '';

in pkg.overrideAttrs (prevAttrs: {
  passthru = (prevAttrs.passthru or {}) // {
    inherit schematic fabrication svg model panel panelSrc bom;
    fab = fabrication;
  };
})