{ mkCljBin , callPackage , lib , doerg-parser , doerg-temml-worker , ibm-plex-web , fake-git , our-tex ? callPackage ./our-tex.nix {} , makeWrapper }: let # mkCljBin sans fake-git. We don't need it, and I don't want it in # my dev shell. mkCljBin' = args: (mkCljBin args).overrideAttrs (final: prev: { nativeBuildInputs = builtins.filter # A possibly-sketchy predicate, lol. (x: x != fake-git) prev.nativeBuildInputs; }); plex = ibm-plex-web.override { families = [ "math" "serif" "sans" "sans-kr" ]; }; bin-path = lib.makeBinPath [ doerg-parser our-tex doerg-temml-worker ]; in mkCljBin' { name = "net.deertopia/doerg"; version = "0.1.0"; projectSrc = lib.cleanSource ./.; lockfile = ../deps-lock.json; main-ns = "net.deertopia.doerg.main"; nativeBuildInputs = [ plex makeWrapper ]; buildInputs = [ doerg-parser doerg-temml-worker plex our-tex ]; nativeCheckInputs = [ doerg-parser doerg-temml-worker plex our-tex ]; doCheck = true; checkPhase = '' clojure -M:test ''; postInstall = '' wrapProgram $out/bin/doerg \ --prefix PATH : ${bin-path} ''; }