diff options
Diffstat (limited to '')
-rw-r--r-- | default.nix | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..b2f0e54 --- /dev/null +++ b/default.nix @@ -0,0 +1,40 @@ +{ nixpkgs ? import <nixpkgs> {}, compiler ? "default", doBenchmark ? false }: + +let + + inherit (nixpkgs) pkgs; + + f = { mkDerivation, aeson, base, bytestring, cassava, containers + , data-default-class, fmt, lens, lib, regex-tdfa, servant + , servant-docs, servant-server, servant-swagger, stm, swagger2 + , text, time, uuid, vector, wai-extra, warp, zip-archive + }: + mkDerivation { + pname = "haskell-gtfs"; + version = "0.1.0.0"; + src = ./.; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring cassava containers fmt lens regex-tdfa + servant servant-docs servant-server servant-swagger stm swagger2 + text time uuid vector warp zip-archive + ]; + executableHaskellDepends = [ + aeson base bytestring data-default-class fmt time wai-extra warp + ]; + license = "unknown"; + hydraPlatforms = lib.platforms.none; + }; + + haskellPackages = if compiler == "default" + then pkgs.haskellPackages + else pkgs.haskell.packages.${compiler}; + + variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id; + + drv = variant (haskellPackages.callPackage f {}); + +in + + if pkgs.lib.inNixShell then drv.env else drv |