{nixpkgs, ...}: let mkTool = { name, lispDeps, system, }: let pkgs = nixpkgs.legacyPackages.${system}; sbcl = pkgs.sbcl.withPackages lispDeps; in pkgs.stdenv.mkDerivation { inherit system name; src = ./.; builder = ../build.sh; dontStrip = true; buildInputs = [ pkgs.makeWrapper pkgs.openssl.dev sbcl pkgs.which pkgs.zsh ]; }; in system: { zenburn = mkTool { inherit system; name = "zenburn"; lispDeps = ps: with ps; [ alexandria dufy net_dot_didierverna_dot_clon net_dot_didierverna_dot_clon_dot_termio serapeum #uiop ]; }; cls = mkTool { inherit system; name = "cls"; lispDeps = ps: with ps; [ alexandria data-lens local-time net_dot_didierverna_dot_clon net_dot_didierverna_dot_clon_dot_termio yason #uiop ]; }; git-pick-patch = mkTool { inherit system; name = "git-pick-patch"; lispDeps = ps: with ps; [ alexandria serapeum cl-ppcre ]; }; json-formatter = mkTool { inherit system; name = "json-formatter"; lispDeps = ps: with ps; [ net_dot_didierverna_dot_clon net_dot_didierverna_dot_clon_dot_termio alexandria serapeum com_dot_inuoe_dot_jzon ]; }; }