{ description = "basic test framework for idris 2"; inputs = { nixpkgs.url = "nixpkgs/21.11"; flake-utils = { url = "github:numtide/flake-utils"; }; idris2-pkgs = { url = "github:claymager/idris2-pkgs"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; }; outputs = { self, nixpkgs, idris2-pkgs, flake-utils }: let systems = with flake-utils.lib.system; [ x86_64-darwin x86_64-linux i686-linux ]; in flake-utils.lib.eachSystem systems (system: let pkgs = import nixpkgs { inherit system; overlays = [ idris2-pkgs.overlay ]; }; builders = pkgs.idris2-pkgs._builders; packages = let ipkg = builders.idrisPackage; in rec { tap = ipkg ./. { }; tap-example = ipkg ./example { extraPkgs = packages; }; }; devShells = let mkDevShell = _: pkg: pkgs.mkShell { buildInputs = [ (builders.devEnv pkg) ]; }; in builtins.mapAttrs mkDevShell packages; in { inherit packages devShells; defaultPackage = packages.tap; devShell = devShells.tap; } ); }