58 lines
1.6 KiB
Nix
58 lines
1.6 KiB
Nix
{
|
|
description = "tricu";
|
|
|
|
inputs = {
|
|
nh2pkgs = {
|
|
url = "https://github.com/nh2/nixpkgs/archive/ede5282c487a1fd2de64303ba59adad6726f1225.tar.gz";
|
|
type = "tarball";
|
|
flake = false;
|
|
};
|
|
static-haskell-nix = {
|
|
url = "github:nh2/static-haskell-nix";
|
|
flake = false;
|
|
};
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = { self, flake-utils, nh2pkgs, nixpkgs, static-haskell-nix }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
compiler = "ghc948";
|
|
packageName = "tricu";
|
|
|
|
overlay = self: super: {
|
|
haskell = super.haskell // {
|
|
packages = super.haskell.packages // {
|
|
${compiler} = super.haskell.packages.${compiler}.override {
|
|
overrides = final: prev: {
|
|
${packageName} = prev.callCabal2nix packageName ./. {};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
overlays = [overlay];
|
|
|
|
pkgs = import nh2pkgs { inherit overlays system; };
|
|
|
|
survey = import "${static-haskell-nix}/survey" { inherit compiler pkgs; };
|
|
|
|
tricuStatic = survey.haskellPackages.${packageName};
|
|
|
|
in {
|
|
packages.default = tricuStatic;
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
buildInputs = with survey; [
|
|
haskellPackages.cabal-install
|
|
haskellPackages.ghc-events
|
|
haskellPackages.ghcid
|
|
] ++ [pkgs.upx];
|
|
inputsFrom = builtins.attrValues self.packages.${system};
|
|
};
|
|
devShell = self.devShells.${system}.default;
|
|
});
|
|
}
|
|
|