initial commit
This commit is contained in:
61
client/default.nix
Normal file
61
client/default.nix
Normal file
@@ -0,0 +1,61 @@
|
||||
{ pkgs }:
|
||||
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
|
||||
|
||||
yarnFilter = p: t: builtins.any (x: baseNameOf p == x) [
|
||||
"package.json"
|
||||
"yarn.lock"
|
||||
];
|
||||
|
||||
yarnSrc = lib.cleanSourceWith {
|
||||
filter = yarnFilter;
|
||||
src = ./.;
|
||||
};
|
||||
|
||||
in
|
||||
rec {
|
||||
shell = buildEnv { name = "homepage-devshell"; paths = homepage.buildInputs; };
|
||||
|
||||
nodeHeaders = fetchzip {
|
||||
name = "node-v${pkgs.nodejs.version}-headers";
|
||||
url = "https://nodejs.org/download/release/v${pkgs.nodejs.version}/node-v${pkgs.nodejs.version}-headers.tar.gz";
|
||||
sha256 = "sha256-wnw/eK+hqawpLbqC+sA65EF7FBz/Q8zvSJfb70dVo4o=";
|
||||
};
|
||||
|
||||
yarnPkgs = yarn2nix-moretea.mkYarnPackage {
|
||||
src = yarnSrc;
|
||||
publishBinsFor = [ "parcel" ];
|
||||
pkgConfig.lmdb-store = {
|
||||
buildInputs = [ nodePackages.node-gyp python3 pkgconfig ];
|
||||
postInstall = ''
|
||||
node-gyp --nodedir=${nodeHeaders} rebuild
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
homepage = stdenv.mkDerivation {
|
||||
name = "Homepage";
|
||||
src = ./.;
|
||||
buildInputs = with elmPackages; [
|
||||
elm
|
||||
elm-format
|
||||
elm2nix
|
||||
yarnPkgs
|
||||
];
|
||||
patchPhase = ''
|
||||
ln -sf ${yarnPkgs}/libexec/*/node_modules .
|
||||
'';
|
||||
configurePhase = elmPackages.fetchElmDeps {
|
||||
elmPackages = import ./elm-srcs.nix;
|
||||
registryDat = ./registry.dat;
|
||||
elmVersion = "0.19.1";
|
||||
};
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
parcel build --dist-dir $out index.html --no-source-maps --no-cache
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user