{ description = "clojure/tools.build packaged for NixOS."; inputs = { nixpkgs.url = "nixpkgs/nixos-21.05"; utils.url = "github:numtide/flake-utils"; clj2nix.url = "github:hlolli/clj2nix"; build-tools-src = { url = "github:clojure/tools.build?tag=v0.8.2"; flake = false; }; gitignore = { url = "github:hercules-ci/gitignore.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, utils, clj2nix, build-tools-src, gitignore, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages."${system}"; build-tools-jar = pkgs.callPackage ./build.tools.nix { inherit build-tools-src; inherit (gitignore.lib) gitignoreSource; }; update-deps = pkgs.callPackage ./update-deps.nix { inherit build-tools-src; inherit clj2nix; }; in { packages.${system} = utils.lib.flattenTree { mkClojureLib = pkgs.callPackage ./mkClojureLib.nix { inherit build-tools-jar; }; }; overlay = final: prev: { inherit (self.packages."${system}") mkClojureLib; }; }; }