51 lines
1.3 KiB
Nix
51 lines
1.3 KiB
Nix
{
|
|
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};
|
|
}
|
|
);
|
|
}
|