Files
haskell.nix/nix-tools/flake.nix
2022-09-24 20:30:00 +12:00

44 lines
1.6 KiB
Nix

{
# This is a template created by `hix init`
inputs.haskellNix.url = "github:input-output-hk/haskell.nix";
inputs.nixpkgs.follows = "haskellNix/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils, haskellNix }:
let
ci = (builtins.fromTOML (__readFile ./ci.toml)).dimensions;
in
flake-utils.lib.eachSystem ci.os (system:
let
compilers = builtins.filter
(x: !__elem "${system}.${x}" ci.disable)
(ci.compiler);
overlays = [ haskellNix.overlay
(final: prev: {
hixProject =
final.haskell-nix.hix.project {
src = ./.;
evalSystem = "x86_64-darwin";
compiler-nix-name = __head compilers;
};
})
];
pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; };
flake = pkgs.hixProject.flake {
variants = pkgs.lib.genAttrs (__tail compilers)
(x: { compiler-nix-name = pkgs.lib.mkForce x; });
};
in flake // {
legacyPackages = pkgs;
});
# --- Flake Local Nix Configuration ----------------------------
nixConfig = {
# This sets the flake to use the IOG nix cache.
# Nix should ask for permission before using it,
# but remove it here if you do not want it to.
extra-substituters = ["https://cache.iog.io"];
extra-trusted-public-keys = ["hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="];
allow-import-from-derivation = "true";
};
}