immich: move derivation attributes out of passthru

Referncing attrisbutes in passthru defeats the purpose of passthru. Move
those attributes to the derivation to simplify.

Note that this does change the derivation hash, as previously these
attributes were not part of the derivation itself.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
Sefa Eyeoglu
2026-07-05 20:17:13 +02:00
parent c375ac785c
commit 5c4622e449
+61 -61
View File
@@ -197,8 +197,8 @@ stdenv.mkDerivation (finalAttrs: {
\) -exec rm -r {} +
mkdir -p "$packageOut/build/plugins"
ln -s '${finalAttrs.passthru.plugin-core}' "$packageOut/build/plugins/immich-plugin-core"
ln -s '${finalAttrs.passthru.web}' "$packageOut/build/www"
ln -s '${finalAttrs.plugin-core}' "$packageOut/build/plugins/immich-plugin-core"
ln -s '${finalAttrs.web}' "$packageOut/build/www"
ln -s '${geodata}' "$packageOut/build/geodata"
echo '${builtins.toJSON buildLock}' > "$packageOut/build/build-lock.json"
@@ -222,6 +222,65 @@ stdenv.mkDerivation (finalAttrs: {
runHook postInstall
'';
plugin-core = stdenv.mkDerivation {
pname = "immich-plugin-core";
inherit (finalAttrs) version src pnpmDeps;
nativeBuildInputs = [
binaryen
extism-js
nodejs
pnpmConfigHook
pnpm
];
buildPhase = ''
runHook preBuild
pnpm --filter @immich/plugin-core... build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cd packages/plugin-core
mkdir $out
cp -r dist manifest.json $out
runHook postInstall
'';
};
web = stdenv.mkDerivation {
pname = "immich-web";
inherit (finalAttrs) version src pnpmDeps;
nativeBuildInputs = [
nodejs
pnpmConfigHook
pnpm
];
buildPhase = ''
runHook preBuild
pnpm --filter immich-web... build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cd web
cp -r build $out
runHook postInstall
'';
};
passthru = {
tests = {
inherit (nixosTests) immich immich-vectorchord-reindex;
@@ -231,65 +290,6 @@ stdenv.mkDerivation (finalAttrs: {
immich = finalAttrs.finalPackage;
};
plugin-core = stdenv.mkDerivation {
pname = "immich-plugin-core";
inherit (finalAttrs) version src pnpmDeps;
nativeBuildInputs = [
binaryen
extism-js
nodejs
pnpmConfigHook
pnpm
];
buildPhase = ''
runHook preBuild
pnpm --filter @immich/plugin-core... build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cd packages/plugin-core
mkdir $out
cp -r dist manifest.json $out
runHook postInstall
'';
};
web = stdenv.mkDerivation {
pname = "immich-web";
inherit (finalAttrs) version src pnpmDeps;
nativeBuildInputs = [
nodejs
pnpmConfigHook
pnpm
];
buildPhase = ''
runHook preBuild
pnpm --filter immich-web... build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cd web
cp -r build $out
runHook postInstall
'';
};
inherit
geodata
pnpm