python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / applications / office / trilium / server.nix
blob125c23050d74184c88197f554fddc09180e2f865
1 { lib, stdenv, autoPatchelfHook, fetchurl, nixosTests
2 , metaCommon }:
4 let
5   serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
6   serverSource.sha256 = "0gwp6h6nvfzq7k1g3233h838nans45jkd5c3pzl6qdhhm19vcs27";
7   version = "0.63.6";
8 in stdenv.mkDerivation {
9   pname = "trilium-server";
10   inherit version;
11   meta = metaCommon // {
12     platforms = [ "x86_64-linux" ];
13   };
15   src = fetchurl serverSource;
17   nativeBuildInputs = [
18     autoPatchelfHook
19   ];
21   buildInputs = [
22     (lib.getLib stdenv.cc.cc)
23   ];
25   patches = [
26     # patch logger to use console instead of rolling files
27     ./0001-Use-console-logger-instead-of-rolling-files.patch
28   ];
30   installPhase = ''
31     runHook preInstall
32     mkdir -p $out/bin
33     mkdir -p $out/share/trilium-server
35     cp -r ./* $out/share/trilium-server
36     runHook postInstall
37   '';
39   postFixup = ''
40     cat > $out/bin/trilium-server <<EOF
41     #!${stdenv.cc.shell}
42     cd $out/share/trilium-server
43     exec ./node/bin/node src/www
44     EOF
45     chmod a+x $out/bin/trilium-server
46   '';
48   passthru.tests = {
49     trilium-server = nixosTests.trilium-server;
50   };