aboutsummaryrefslogtreecommitdiffstats
path: root/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix28
1 files changed, 23 insertions, 5 deletions
diff --git a/default.nix b/default.nix
index 060a4c7..b2c6d83 100644
--- a/default.nix
+++ b/default.nix
@@ -2,22 +2,40 @@
, sources ? import ./nix/sources.nix
}:
let
- haskellPackages = pkgs.haskellPackages.override {
+ haskellPackages = pkgs.haskell.packages.ghc98.override {
overrides = self: super: {
- acms = self.callCabal2nix "acms" ./. { };
astore = self.callCabal2nix "astore" sources.json2sql { };
autotypes = self.callCabal2nix "autotypes" ./autotypes { };
- json2sql = self.callCabal2nix "json2sql" sources.json2sql { };
+ backend = self.callCabal2nix "backend" ./backend { };
+ frontend = self.callCabal2nix "frontend" ./frontend { };
+ websockets = pkgs.haskell.lib.doJailbreak super.websockets;
+ };
+ };
+
+ jsHaskellPackages = pkgs.pkgsCross.ghcjs.haskell.packages.ghc98.override {
+ overrides = self: super: {
+ frontend = self.callCabal2nix "frontend" ./frontend { };
};
};
in
rec {
- inherit (haskellPackages) acms;
+ inherit (haskellPackages) backend;
+ inherit (jsHaskellPackages) frontend;
shell = haskellPackages.shellFor {
- packages = _: [ acms haskellPackages.autotypes ];
+ packages = _: [
+ haskellPackages.autotypes
+ haskellPackages.backend
+ haskellPackages.frontend
+ ];
buildInputs = [
haskellPackages.cabal-install
haskellPackages.ormolu
+ (pkgs.writeScriptBin "reload" ''
+ set -efu
+ ${haskellPackages.ghcid.bin}/bin/ghcid -c \
+ '${haskellPackages.cabal-install}/bin/cabal new-repl' \
+ -T ':run Main.main'
+ '')
];
withHoogle = true;
withHaddock = true;