From 7f5e8f7d7d467f6dd3321cfa7eb276396a21dc69 Mon Sep 17 00:00:00 2001 From: Nathan Perry Date: Tue, 13 Aug 2024 22:30:33 -0400 Subject: nix: rewrite expressions to be generic --- nix/default.nix | 62 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 46 insertions(+), 16 deletions(-) (limited to 'nix/default.nix') diff --git a/nix/default.nix b/nix/default.nix index 2c5ac7a..eee258c 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -1,22 +1,52 @@ { pkgs, + + src, + main_pcb, + main_sch, + + name, + outPath ? "share/npry/clef", + layers ? 2, }: let - panel = pkgs.callPackage ./panel.nix {}; - svgs = pkgs.callPackage ./svg.nix { inherit panel; }; - model = pkgs.callPackage ./model.nix { inherit panel; }; - fabrication = pkgs.callPackage ./fabrication.nix { inherit panel; }; - - full = pkgs.symlinkJoin { - name = "ocularium"; - paths = [ - panel - svgs - model - fabrication - ]; + pcb_path = main_pcb; + sch_path = main_sch; + + pcb_args = { + inherit pcb_path src; + }; + + panelSrc = pkgs.callPackage ./panel.nix pcb_args; + panel = pkgs.callPackage ./. { + src = "${panelSrc}/share/npry/clef/panel"; + main_pcb = "panel.kicad_pcb"; + + name = "${name}.sub.panel"; + outPath = "${outPath}/panel"; + + inherit main_sch layers; + }; + + svg = pkgs.callPackage ./svg.nix (pcb_args // { nLayer = layers; }); + model = pkgs.callPackage ./model.nix pcb_args; + + fabrication = pkgs.callPackage ./fabrication.nix (pcb_args // { + inherit sch_path; + }); + + schematic = pkgs.callPackage ./schematic.nix { + inherit sch_path src; }; -in { - inherit panel svgs model fabrication full; - fab = fabrication; +in pkgs.callPackage ./board.nix { + inherit + svg + model + fabrication + schematic + name + outPath + panel + panelSrc + ; } -- cgit v1.3.1