@@ -4,9 +4,13 @@
44, pkgs ? pkgsSrc (haskellNix.nixpkgsArgs // { inherit system; })
55, nix-filter ? import sources.nix-filter
66, system ? builtins.currentSystem
7+, prod ? false
78}:
89let
910 octopod-css = import ./octopod-css { inherit pkgsSrc; };
11+ addLocalOptions = x:
12+ if prod then x // { ghcOptions = [ "-Werror" ]; }
13+ else x // { ghcOptions = [ "-O0" ]; };
1014
1115 hsPkgs = pkgs.haskell-nix.cabalProject {
1216 src = nix-filter {
@@ -24,14 +28,15 @@ let
2428
2529 modules = [
2630 {
31+ ghcOptions = [ "-O2" ];
2732 dontStrip = false;
2833 dontPatchELF = false;
2934 enableDeadCodeElimination = true;
30− packages.octopod-backend.src = ./octopod-backend;
31− packages.octo-cli.src = ./octo-cli;
32− packages.octopod-api.src = ./octopod-api;
33− packages.octopod-frontend.src = ./octopod-frontend;
34− packages.octopod-common.src = ./octopod-common;
35+ packages.octopod-backend = addLocalOptions { src = ./octopod-backend; };
36+ packages.octo-cli = addLocalOptions { src = ./octo-cli; };
37+ packages.octopod-api = addLocalOptions { src = ./octopod-api; };
38+ packages.octopod-frontend = addLocalOptions { src = ./octopod-frontend; };
39+ packages.octopod-common = addLocalOptions { src = ./octopod-common; };
3540 }
3641 ];
3742