-
Daniel Firth authoredb751f840
flake.nix 2.07 KiB
{
description = "horizon-plutus overlay";
nixConfig = {
extra-substituters = "https://horizon.cachix.org";
extra-trusted-public-keys = "horizon.cachix.org-1:MeEEDRhRZTgv/FFGCv3479/dmJDfJ82G6kfUDxMSAw0=";
};
inputs = {
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";
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
, flake-parts
, horizon-advance
, iohk-nix
, nixpkgs
, nixpkgs-libR
, ...
}:
flake-parts.lib.mkFlake { inherit inputs; }
{
systems = [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
];
imports = [
inputs.horizon-hoogle.flakeModule
];
perSystem = { pkgs, config, system, ... }:
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
libsodium = iohk-pkgs.libsodium-vrf;
R = pkgs-libR.R;
secp256k1 = iohk-pkgs.secp256k1;
libblst = iohk-pkgs.libblst;
overrides = composeManyExtensions [
(import ./overlay.nix { inherit pkgs; })
(import ./configuration.nix { inherit libsodium R secp256k1 libblst; } { inherit pkgs; })
];
legacyPackages = horizon-advance.legacyPackages.${system}.extend overrides;
packages = filterAttrs (_: isDerivation) legacyPackages;
in
{
inherit legacyPackages;
inherit packages;
};
};
}