blob: d60083bc660a3a49eb87be40182372102a4e609c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
{
buildDotnetModule,
dotnet-sdk,
fetchFromGitHub,
fetchNpmDeps,
lib,
nixosTests,
nodejs,
npmHooks,
nix-update-script,
}:
buildDotnetModule (finalAttrs: {
pname = "immichframe";
version = "1.0.37.0";
src = fetchFromGitHub {
owner = "immichFrame";
repo = "immichFrame";
tag = "v${finalAttrs.version}";
hash = "sha256-ZS6lkfDdMSq1cffIIeXqG3/eIaQFGSZcRYPXiDCHA/U=";
};
projectFile = "ImmichFrame.WebApi/ImmichFrame.WebApi.csproj";
nugetDeps = ./deps.json;
dotnet-runtime = dotnet-sdk.aspnetcore;
nativeBuildInputs = [
npmHooks.npmConfigHook
nodejs
];
npmRoot = "immichFrame.Web";
npmDeps = fetchNpmDeps {
src = "${finalAttrs.src}/${finalAttrs.npmRoot}";
hash = "sha256-RyMY5ooC6Q+W+Y24ILv+WCcWLMDToZ52yefFuoAYubY=";
};
preBuild = ''
pushd ${finalAttrs.npmRoot}
npm run build
popd
'';
postInstall = ''
cp -r ${finalAttrs.npmRoot}/build/* $out/lib/immichframe/wwwroot/
'';
makeWrapperArgs = [
"--chdir ${placeholder "out"}/lib/immichframe"
];
passthru = {
updateScript = nix-update-script { };
tests = { inherit (nixosTests) immichframe; };
};
meta = {
changelog = "https://github.com/immichFrame/ImmichFrame/releases/tag/${finalAttrs.src.tag}";
description = "Display your photos from Immich as a digital photo frame";
homepage = "https://immichframe.dev";
license = lib.licenses.gpl3Only;
mainProgram = "ImmichFrame.WebApi";
maintainers = with lib.maintainers; [ jfly ];
platforms = lib.platforms.all;
};
})
|