{ 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 ]; }; }); }