Skip to content
Snippets Groups Projects
flake.nix 1.98 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=";
  };

    get-flake.url = "github:ursi/get-flake";
    horizon-advance.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-advance";
      url = "github:input-output-hk/iohk-nix/26f56e32169dcc9ef72ac754eccdb3c96d714751";
    lint-utils.url = "git+https://gitlab.nixica.dev/nix/lint-utils";
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nixpkgs-libR.url = "github:nixos/nixpkgs/602748c14b82a2e17078713686fe1df2824fa502";
  outputs =
    inputs@
    { self
    , flake-utils
    , get-flake
    , horizon-advance
    , lint-utils
    , nixpkgs
    , nixpkgs-libR
    , ...
    }:
    flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
Daniel Firth's avatar
Daniel Firth committed
    let
      pkgs-libR = import nixpkgs-libR { inherit system; };
      pkgs = import nixpkgs { inherit system; };
      crypto = (import iohk-nix { }).overlays.crypto;
      iohk-pkgs = import nixpkgs { inherit system; overlays = crypto; };
Daniel Firth's avatar
Daniel Firth committed
    in
    with pkgs.lib;
    with pkgs.writers;
    let
      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
    in
    {
Daniel Firth's avatar
Daniel Firth committed

      checks = with lint-utils.outputs.linters.${system}; {
        dhall-format = dhall-format { src = self; };
        nixpkgs-fmt = nixpkgs-fmt { src = self; find = "flake.nix"; };
Daniel Firth's avatar
Daniel Firth committed
      };

      inherit legacyPackages;
      inherit packages;
    });