This commit is contained in:
Anaïs Saraiva
2026-08-25 15:18:53 +02:00
parent 35aa44a59d
commit 47cd18e8c6
2 changed files with 2386 additions and 18 deletions
+8 -18
View File
@@ -34,33 +34,23 @@ let
}; };
# ---- Frontend: Svelte static assets built with node/npm. ---- # ---- Frontend: Svelte static assets built with node/npm. ----
filehostFrontend = pkgs.stdenv.mkDerivation { filehostFrontend = pkgs.buildNpmPackage {
pname = "filehost-frontend"; pname = "filehost-frontend";
version = "1.0.0"; version = "1.0.0";
src = cfg.src; # Build from the frontend/ subdirectory (contains package.json + lock).
src = "${cfg.src}/frontend";
nativeBuildInputs = with pkgs; [ # Hash of the npm dependency fetch (generated from frontend/package-lock.json).
# `nodejs` ships `npm`/`npx` in its own bin/ (Node 24 bundles npm). npmDepsHash = "sha256-ec2rDPuTIGOMdx7oHq+At1Fez6WFCVnFaYydzVF+5Ws=";
nodejs
];
# `npm install` needs writable dirs that default to the source; redirect # The default npm build script is `build` (vite build).
# caches so the build stays sandbox-friendly. npmBuildScript = "build";
npm_config_cache = "/tmp/npm-cache";
buildPhase = ''
runHook preBuild
cd frontend
npm install --no-audit --no-fund
npm run build
runHook postBuild
'';
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/share/filehost mkdir -p $out/share/filehost
cp -r frontend/dist $out/share/filehost/dist cp -r dist $out/share/filehost/dist
runHook postInstall runHook postInstall
''; '';
}; };
+2378
View File
File diff suppressed because it is too large Load Diff