{ description = "basic test framework for idris 2"; inputs = { flake-utils.url = "github:numtide/flake-utils"; idris2-pkgs.url = "github:claymager/idris2-pkgs"; nixpkgs.follows = "idris2-pkgs/nixpkgs"; }; 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 ]; }; inherit (pkgs.idris2-pkgs._builders) idrisPackage devEnv; packages = rec { tap = idrisPackage ./. { }; tap-example = idrisPackage ./example { extraPkgs = packages; }; }; devShells = let mkDevShell = _: pkg: pkgs.mkShell { buildInputs = [ (devEnv pkg) ]; }; shells = packages // (with packages; { example = tap-example; }); in builtins.mapAttrs mkDevShell shells; in { inherit packages devShells; defaultPackage = packages.tap; devShell = devShells.tap; } ); }