{ description = "A simple homepage"; inputs.flakeUtils.url = "github:numtide/flake-utils"; inputs.nixpkgs.url = "github:NixOS/nixpkgs"; outputs = { self, nixpkgs, flakeUtils }: with flakeUtils.lib; eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; }; clientFilter = p: t: builtins.all (x: baseNameOf p != x) [ ".parcel-cache" "dist" "elm-stuff" "node_modules" "result" ]; clientSrc = pkgs.lib.cleanSourceWith { filter = clientFilter; src = ./client; }; serverSrc = pkgs.lib.cleanSourceWith { filter = clientFilter; src = ./server; }; client = pkgs.callPackage clientSrc { inherit pkgs; }; server = pkgs.haskellPackages.callPackage serverSrc { frontend = self.packages.${system}.homepage; }; in rec { packages = { inherit (client) hello yarnPkgs homepage; inherit (server) server simple; }; defaultPackage = self.packages.${system}.simple; devShell = self.defaultPackage.${system}; } ); }