{ description = "FeedMonad"; inputs = { easy-hls-src = { url = "github:jkachmar/easy-hls-nix"; }; flake-utils = { url = "github:numtide/flake-utils"; }; }; outputs = { self, nixpkgs, flake-utils, easy-hls-src }: flake-utils.lib.eachSystem ["x86_64-linux" "x86_64-darwin"] ( system: let pkgs = nixpkgs.legacyPackages.${system}; hp = pkgs.haskellPackages.extend (self: super: { FeedMonad = self.callPackage ./FeedMonad {}; FeedMonad-demo = self.callPackage ./FeedMonad-demo {}; }); easy-hls = pkgs.callPackage easy-hls-src { ghcVersions = [ hp.ghc.version ]; }; in rec { packages = { inherit (hp) FeedMonad FeedMonad-demo; }; defaultPackage = packages.FeedMonad; apps.FeedMonad-demo = { type = "app"; program = "${hp.FeedMonad-demo}/bin/FeedMonad-demo"; }; devShell = hp.shellFor { packages = h: [h.FeedMonad h.FeedMonad-demo]; withHoogle = true; buildInputs = with pkgs; [ entr cabal-install hp.hlint stylish-haskell ghcid easy-hls sqlite-interactive hp.graphmod ]; }; } ); }