53 lines
1.7 KiB
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;
|
|
};
|
|
};
|
|
}
|