{
description = "Flake for ActivityPuppy";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs { inherit system; };
hs-env = pkgs.haskell.packages.ghc944.extend (final: prev: {});
hs-ghc = hs-env.ghcWithPackages
(hspkgs: with hspkgs; [
aeson
base64
bytestring
cryptonite
cryptostore
effectful
effectful-th
hspec
http-conduit
QuickCheck
sqlite-simple
text
uuid
wai
warp
]);
in rec {
packages.default = hs-env.callPackage ./package.nix {};
apps.default = {
type = "app";
program = "${packages.default}/bin/kaos-api";
};
devShell = pkgs.mkShell {
buildInputs = [
hs-ghc
hs-env.cabal-install
pkgs.haskell.packages.ghc944.haskell-language-server
pkgs.sqlite
];
};
});
}