{ 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; }); }