56 lines
1.3 KiB
Nix
56 lines
1.3 KiB
Nix
{
|
|
dream2nix,
|
|
config,
|
|
lib,
|
|
...
|
|
}: {
|
|
imports = [
|
|
dream2nix.modules.dream2nix.nodejs-package-json-v3
|
|
dream2nix.modules.dream2nix.nodejs-granular-v3
|
|
dream2nix.modules.dream2nix.nodejs-devshell-v3
|
|
];
|
|
|
|
deps = {nixpkgs, ...}: {
|
|
inherit (nixpkgs) pkg-config runCommandLocal rsync vips yj;
|
|
};
|
|
|
|
name = "tlaternet-templates";
|
|
version = "0.1.0";
|
|
|
|
mkDerivation = {
|
|
src = config.deps.runCommandLocal "source" {nativeBuildInputs = [config.deps.yj];} ''
|
|
cp -r ${./.} $out/
|
|
chmod -R u+w $out
|
|
yj < $out/package.yaml > $out/package.json
|
|
'';
|
|
|
|
nativeBuildInputs = [config.deps.yj];
|
|
|
|
# The default phase (which is hidden in `preInstallPhases`) will
|
|
# copy the full node_modules directory to the output, and symlink
|
|
# executables and whatnot.
|
|
#
|
|
# Since this package's output is static HTML/JS, we do not want
|
|
# that.
|
|
preInstallPhases = lib.mkForce [];
|
|
installPhase = ''
|
|
cp -r dist $out
|
|
'';
|
|
};
|
|
|
|
nodejs-package-lock-v3.packageLockFile = "${config.mkDerivation.src}/package-lock.json";
|
|
nodejs-granular-v3.deps = {
|
|
sharp."0.28.3".mkDerivation.buildInputs = with config.deps; [
|
|
vips
|
|
pkg-config
|
|
];
|
|
};
|
|
|
|
nodejs-devshell-v3.nodeModules = {
|
|
nodejs-granular-v3.deps.sharp."0.28.3".mkDerivation.buildInputs = with config.deps; [
|
|
vips
|
|
pkg-config
|
|
];
|
|
};
|
|
}
|