Skip to content

Instantly share code, notes, and snippets.

@jezen
Created September 13, 2019 10:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jezen/5d321967d26ee02f991bdf75cab9123b to your computer and use it in GitHub Desktop.
Save jezen/5d321967d26ee02f991bdf75cab9123b to your computer and use it in GitHub Desktop.
(import <nixpkgs> {}).fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs";
rev = "1233c8d9e9bc463899ed6a8cf0232e6bf36475ee";
sha256 = "1lagfycy2lvfc8cdxk98dz2rxjlrbmv9hj42x0x40sy66bck1w0y";
}
{ compiler }:
{ packageOverrides = pkgs: {
haskell = pkgs.haskell // {
packages = pkgs.haskell.packages // {
"${compiler}" = pkgs.haskell.packages."${compiler}".override {
overrides = hpNew: hpOld: {
classy-prelude-yesod =
pkgs.haskell.lib.dontHaddock hpOld.classy-prelude-yesod;
yesod-auth-simple =
hpNew.callPackage ./yesod-auth-simple.nix {};
wai-extra =
hpNew.callPackage ./wai-extra.nix {};
yesod-form =
hpNew.callPackage ./yesod-form.nix {};
yesod-core =
hpNew.callPackage ./yesod-core.nix {};
yesod-test =
hpNew.callPackage ./yesod-test.nix {};
ghc-exactprint =
pkgs.haskell.lib.dontCheck hpOld.ghc-exactprint;
yesod-paginator =
hpNew.callPackage ./yesod-paginator.nix {};
};
};
};
};
};
}
{ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3, base
, base64-bytestring, blaze-html, bytestring, case-insensitive
, classy-prelude, classy-prelude-conduit, classy-prelude-yesod
, conduit, conduit-extra, containers, data-default, directory
, errors, esqueleto, fast-logger, file-embed, foreign-store
, formatting, hedis, hjsmin, hspec, hspec-discover, http-api-data
, http-client, http-client-tls, http-conduit, http-types
, language-javascript, lens, lens-aeson, mime-mail, mime-mail-ses
, monad-control, monad-logger, mtl, network, network-uri
, persistent, persistent-postgresql, persistent-template
, postgresql-simple, postgresql-simple-migration, pretty-simple
, random, resourcet, rollbar, safe, safe-money, serialise
, shakespeare, split, stdenv, stm, template-haskell, text, th-nowq
, time, transformers, unordered-containers, uri-encode, utf8-string
, uuid, vector, wai, wai-extra, wai-logger, warp, websockets, wreq
, xmlbf, yaml, yesod, yesod-auth, yesod-auth-simple, yesod-core
, yesod-form, yesod-paginator, yesod-static, yesod-test
, yesod-websockets
}:
mkDerivation {
pname = "riskbook";
version = "0.0.0";
src = ./.;
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = true;
libraryHaskellDepends = [
aeson amazonka amazonka-core amazonka-s3 base base64-bytestring
blaze-html bytestring case-insensitive classy-prelude
classy-prelude-conduit classy-prelude-yesod conduit conduit-extra
containers data-default directory errors esqueleto fast-logger
file-embed foreign-store formatting hedis hjsmin http-api-data
http-client http-client-tls http-conduit http-types
language-javascript lens lens-aeson mime-mail mime-mail-ses
monad-control monad-logger mtl network network-uri persistent
persistent-postgresql persistent-template postgresql-simple
postgresql-simple-migration random resourcet rollbar safe
safe-money serialise shakespeare split stm template-haskell text
th-nowq time transformers unordered-containers uri-encode
utf8-string uuid vector wai wai-extra wai-logger warp websockets
wreq xmlbf yaml yesod yesod-auth yesod-auth-simple yesod-core
yesod-form yesod-paginator yesod-static yesod-websockets
];
executableHaskellDepends = [
aeson base bytestring case-insensitive classy-prelude
classy-prelude-conduit classy-prelude-yesod conduit containers
data-default directory esqueleto fast-logger file-embed
foreign-store hjsmin http-conduit monad-control monad-logger
persistent persistent-postgresql persistent-template pretty-simple
safe shakespeare template-haskell text time unordered-containers
vector wai wai-extra wai-logger warp yaml yesod yesod-auth
yesod-core yesod-form yesod-paginator yesod-static
];
testHaskellDepends = [
aeson amazonka amazonka-s3 base bytestring case-insensitive
classy-prelude classy-prelude-conduit classy-prelude-yesod conduit
conduit-extra containers data-default directory esqueleto
fast-logger file-embed foreign-store hjsmin hspec http-conduit
http-types monad-control monad-logger persistent
persistent-postgresql persistent-template resourcet safe safe-money
shakespeare stm template-haskell text time unordered-containers
uuid vector wai wai-extra wai-logger warp yaml yesod yesod-auth
yesod-auth-simple yesod-core yesod-form yesod-paginator
yesod-static yesod-test
];
testToolDepends = [ hspec-discover ];
license = stdenv.lib.licenses.gpl3;
}
let
compiler = "ghc843";
config = import ./pkgconfig.nix { inherit compiler; };
pkgs = import (import ./nixpkgs.nix) { inherit config; };
hpkgs = pkgs.haskell.packages.${compiler};
pkg = hpkgs.callPackage (import ./riskbook.nix) {};
in
{}: pkgs.lib.overrideDerivation pkg.env (old: {
buildInputs = old.buildInputs ++ [
hpkgs.hlint
hpkgs.apply-refact
pkgs.postgresql
pkgs.redis
];
shellHook = ''
export PGDATA=~/tmp/pgdata;
'';
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment