54 lines
836 B
Nix
54 lines
836 B
Nix
{
|
|
stdenv,
|
|
nodejs,
|
|
pnpm,
|
|
fetchFromGitHub,
|
|
}:
|
|
|
|
let
|
|
inherit (import ./sources.nix { inherit fetchFromGitHub; })
|
|
pname
|
|
version
|
|
src
|
|
pnpmDepsHash
|
|
;
|
|
in
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "${pname}-web";
|
|
inherit src version;
|
|
|
|
sourceRoot = "${finalAttrs.src.name}/web";
|
|
|
|
nativeBuildInputs = [
|
|
nodejs
|
|
pnpm.configHook
|
|
];
|
|
|
|
pnpmDeps = pnpm.fetchDeps {
|
|
inherit (finalAttrs)
|
|
pname
|
|
version
|
|
src
|
|
sourceRoot
|
|
;
|
|
hash = pnpmDepsHash;
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace ./vite.config.ts \
|
|
--replace 'outDir: "../internal/server/public_html"' 'outDir: "dist"'
|
|
'';
|
|
|
|
postBuild = ''
|
|
pnpm run build
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/share
|
|
mv dist $out/share/authelia-web
|
|
|
|
runHook postInstall
|
|
'';
|
|
})
|