dhall-nix-lib/flake.nix

53 lines
1.7 KiB
Nix

{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
dhall-haskell = {
url = "https://github.com/darkkirb/dhall-haskell";
flake = false;
type = "git";
submodules = true;
ref = "nix-hotfix";
};
};
outputs = {
self,
nixpkgs,
flake-utils,
dhall-haskell,
}:
flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {
inherit system;
overlays = [self.overlays.default];
};
in {
formatter = pkgs.alejandra;
packages = rec {
inherit (import "${dhall-haskell}/nix/shared.nix" {inherit system;}) dhall dhall-nix dhall-nixpkgs;
dhall-nix-lib = pkgs.dhallPackages.callPackage ./package.nix {};
};
devShells.default = pkgs.mkShell {
nativeBuildInputs = [self.packages.${system}.dhall self.packages.${system}.dhall-nix];
};
})
// {
overlays.default = _: prev: {
dhallPackages = prev.dhallPackages.override (_: {
overrides = _: super: rec {
Prelude = super.Prelude.overridePackage {
rev = "v22.0.0";
sha256 = "157x95yw9hibpifa8figawgclnc1d1bapmbp1zw60l2viy936b83";
};
inherit (self.packages.${prev.emptyDirectory.system}) dhall-nix-lib;
dhall-to-nix-package = super.callPackage ./pkgs/dhall-to-nix-package.nix {};
import-dhall-package = path: let drv = super.callPackage (path + "/package.nix") { buildDhallDirectoryPackage = dhall-to-nix-package; }; in import "${drv}" (import ./runtime.nix prev.lib);
};
});
inherit (self.packages.${prev.system}) dhall dhall-nix dhall-nixpkgs;
};
};
}