add frontend (boilerplate)

This commit is contained in:
Alexander Foremny
2024-05-31 10:42:26 +02:00
parent ec0ea18486
commit 8d3fdb0867
9 changed files with 168 additions and 12 deletions

View File

@@ -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;