quox/flake.nix

31 lines
985 B
Nix

{ description = "quox: quantitative extensional type theory";
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 = [ "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;
quox = idrisPackage ./. { };
quox-exe = idrisPackage ./exe { extraPkgs.quox = quox; };
quox-tests = idrisPackage ./tests { extraPkgs.quox = quox; };
in
{
defaultPackage = quox-exe;
packages = { inherit quox quox-exe quox-tests; };
devShell = pkgs.mkShell { buildInputs = [ (devEnv quox) ]; };
}
);
}