Files
acms/default.nix

53 lines
1.6 KiB
Nix
Raw Permalink Normal View History

2024-05-28 22:04:34 +02:00
{ pkgs ? import sources.nixpkgs { }
, sources ? import ./nix/sources.nix
}:
let
2024-05-31 10:42:26 +02:00
haskellPackages = pkgs.haskell.packages.ghc98.override {
2024-05-28 22:04:34 +02:00
overrides = self: super: {
astore = self.callCabal2nix "astore" sources.json2sql { };
autotypes = self.callCabal2nix "autotypes" ./autotypes { };
2024-05-31 10:42:26 +02:00
backend = self.callCabal2nix "backend" ./backend { };
2024-06-05 22:47:49 +02:00
common = self.callCabal2nix "common" ./common { };
2024-05-31 10:42:26 +02:00
frontend = self.callCabal2nix "frontend" ./frontend { };
2024-10-11 17:37:39 +02:00
cli = self.callCabal2nix "cli" ./cli { };
sh = pkgs.haskell.lib.dontCheck (self.callCabal2nix "sh" sources.sh { });
2024-05-31 10:42:26 +02:00
websockets = pkgs.haskell.lib.doJailbreak super.websockets;
};
};
jsHaskellPackages = pkgs.pkgsCross.ghcjs.haskell.packages.ghc98.override {
overrides = self: super: {
2024-06-05 22:47:49 +02:00
common = self.callCabal2nix "common" ./common { };
2024-05-31 10:42:26 +02:00
frontend = self.callCabal2nix "frontend" ./frontend { };
2024-05-28 22:04:34 +02:00
};
};
in
rec {
2024-05-31 10:42:26 +02:00
inherit (haskellPackages) backend;
inherit (jsHaskellPackages) frontend;
2024-05-28 22:04:34 +02:00
shell = haskellPackages.shellFor {
2024-05-31 10:42:26 +02:00
packages = _: [
haskellPackages.autotypes
haskellPackages.backend
2024-06-05 22:47:49 +02:00
haskellPackages.common
2024-10-11 17:37:39 +02:00
haskellPackages.cli
2024-05-31 10:42:26 +02:00
haskellPackages.frontend
];
2024-05-28 22:04:34 +02:00
buildInputs = [
2024-06-05 10:41:02 +02:00
haskellPackages.astore
2024-06-06 09:25:05 +02:00
haskellPackages.autotypes
2024-05-28 22:04:34 +02:00
haskellPackages.cabal-install
haskellPackages.ormolu
2024-10-11 17:27:14 +02:00
pkgs.niv
2024-05-31 10:42:26 +02:00
(pkgs.writeScriptBin "reload" ''
set -efu
${haskellPackages.ghcid.bin}/bin/ghcid -c \
'${haskellPackages.cabal-install}/bin/cabal new-repl' \
-T ':run Main.main'
'')
2024-05-28 22:04:34 +02:00
];
withHoogle = true;
withHaddock = true;
};
}