You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.6 KiB
50 lines
1.6 KiB
{
|
|
# 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
|
|
supportedSystems = [
|
|
"x86_64-linux"
|
|
"x86_64-darwin"
|
|
"aarch64-linux"
|
|
"aarch64-darwin"
|
|
];
|
|
in
|
|
flake-utils.lib.eachSystem supportedSystems (system:
|
|
let
|
|
overlays = [ haskellNix.overlay
|
|
(final: prev: {
|
|
hixProject =
|
|
final.haskell-nix.hix.project {
|
|
src = ./.;
|
|
evalSystem = "x86_64-linux";
|
|
};
|
|
})
|
|
];
|
|
pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; };
|
|
flake = pkgs.hixProject.flake {};
|
|
in flake // {
|
|
legacyPackages = pkgs;
|
|
formatter =
|
|
let
|
|
inherit (pkgs.hixProject.tools { fourmolu = "latest"; }) fourmolu;
|
|
in
|
|
pkgs.writeScriptBin "fourmolu-inline" ''
|
|
set -ex
|
|
${fourmolu}/bin/fourmolu -i `${pkgs.fd}/bin/fd -g *.hs src app`
|
|
'';
|
|
});
|
|
|
|
# --- 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";
|
|
};
|
|
}
|