@@ -14,12 +14,14 @@ let
1414 overrides = ormoluOverlay;
1515 };
1616 ormoluOverlay = self: super: {
17− "ormolu" = super.callCabal2nix "ormolu" source { };
18− };
17+ "ormolu" = super.callCabal2nix "ormolu" source { };
18+ };
1919 ormolize = import ./nix/ormolize {
2020 inherit pkgs;
2121 inherit haskellPackages;
2222 };
23+ ormolizedPackages = doCheck:
24+ pkgs.lib.mapAttrs (_: v: ormolize { package = v; inherit doCheck; }) haskellPackages;
2325in {
2426 ormolu = haskellPackages.ormolu;
2527 ormoluShell = haskellPackages.shellFor {
@@ -27,5 +29,55 @@ in {
2729 buildInputs = [ haskellPackages.cabal-install haskellPackages.ghcid ];
2830 };
2931 inherit ormoluOverlay ormoluCompiler;
30− hackage = pkgs.lib.mapAttrs ormolize haskellPackages;
32+ hackage = ormolizedPackages false;
33+ hackageTests = with pkgs.lib; pkgs.recurseIntoAttrs (
34+ let ps = [
35+ "QuickCheck"
36+ "ShellCheck"
37+ "aeson"
38+ "attoparsec"
39+ "cassava"
40+ "conduit"
41+ "cryptonite"
42+ "diagrams-core"
43+ "distributed-process"
44+ "esqueleto"
45+ "fay"
46+ "hedgehog"
47+ "hlint"
48+ "megaparsec"
49+ "postgrest"
50+ "servant"
51+ "servant-server"
52+ "tensorflow"
53+
54+ # Comment idempotence issue
55+
56+ # "Agda"
57+ # "aws"
58+ # "brick"
59+ # "hakyll"
60+ # "haxl"
61+ # "hledger"
62+ # "http-client"
63+ # "idris"
64+ # "intero"
65+ # "leksah"
66+ # "lens"
67+ # "ormolu"
68+ # "pandoc"
69+ # "pipes"
70+ # "purescript"
71+ # "stack"
72+ # "tls"
73+ # "yesod-core"
74+
75+ # Missing language extension
76+
77+ # "lens" #fixed in master
78+ # "purescript"
79+
80+ ];
81+ in listToAttrs (map (p: nameValuePair p (ormolizedPackages true).${p}) ps)
82+ );
3183}