Skip to content
Snippets Groups Projects
flake.nix 2.04 KiB
Newer Older
Daniel Firth's avatar
Daniel Firth committed
  description = "horizon-plutus overlay";

  nixConfig = {
    extra-substituters = "https://horizon.cachix.org";
    extra-trusted-public-keys = "horizon.cachix.org-1:MeEEDRhRZTgv/FFGCv3479/dmJDfJ82G6kfUDxMSAw0=";
  };

Daniel Firth's avatar
Daniel Firth committed
    flake-parts.url = "github:hercules-ci/flake-parts";
    horizon-advance.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-advance?ref=lts/ghc-9.6.x";
Daniel Firth's avatar
Daniel Firth committed
    horizon-hoogle.url = "git+https://gitlab.horizon-haskell.net/nix/horizon-hoogle";
    iohk-nix.url = "github:input-output-hk/iohk-nix";
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nixpkgs-libR.url = "github:nixos/nixpkgs/602748c14b82a2e17078713686fe1df2824fa502";
  outputs =
    inputs@
    { self
Daniel Firth's avatar
Daniel Firth committed
    , flake-parts
    , horizon-advance
    , nixpkgs
    , nixpkgs-libR
    , ...
    }:
Daniel Firth's avatar
Daniel Firth committed
    flake-parts.lib.mkFlake { inherit inputs; }
      {
        systems = [
          "aarch64-darwin"
          "x86_64-darwin"
          "x86_64-linux"
        ];
Daniel Firth's avatar
Daniel Firth committed
        imports = [
          inputs.horizon-hoogle.flakeModule
        ];
        perSystem = { pkgs, config, system, ... }:
Daniel Firth's avatar
Daniel Firth committed
          let
            pkgs-libR = import nixpkgs-libR { inherit system; };
            crypto = inputs.iohk-nix.overlays.crypto;
            iohk-pkgs = import nixpkgs { inherit system; overlays = [ crypto ]; };
          in
          with pkgs.lib;
          with pkgs.writers;
          let
Daniel Firth's avatar
Daniel Firth committed
            libsodium = iohk-pkgs.libsodium-vrf;
            R = pkgs-libR.R;
            secp256k1 = iohk-pkgs.secp256k1;
            libblst = iohk-pkgs.libblst;
Daniel Firth's avatar
Daniel Firth committed

Daniel Firth's avatar
Daniel Firth committed
            overrides = composeManyExtensions [
              (import ./overlay.nix { inherit pkgs; })
              (import ./configuration.nix { inherit libsodium R secp256k1 libblst; } { inherit pkgs; })
            ];
Daniel Firth's avatar
Daniel Firth committed

Daniel Firth's avatar
Daniel Firth committed
            legacyPackages = horizon-advance.legacyPackages.${system}.extend overrides;
Daniel Firth's avatar
Daniel Firth committed
            packages = filterAttrs (_: isDerivation) legacyPackages;
Daniel Firth's avatar
Daniel Firth committed

Daniel Firth's avatar
Daniel Firth committed
            inherit legacyPackages;
            inherit packages;
          };
      };