diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f67493a332dd..e72d59da46e7 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4242,6 +4242,12 @@ githubId = 103082; name = "Ed Brindley"; }; + eliandoran = { + email = "contact@eliandoran.me"; + name = "Elian Doran"; + github = "eliandoran"; + githubId = 21236836; + }; elizagamedev = { email = "eliza@eliza.sh"; github = "elizagamedev"; diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix index 08084bfbf7ac..35b9b694c091 100644 --- a/pkgs/applications/office/trilium/default.nix +++ b/pkgs/applications/office/trilium/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, nixosTests, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, copyDesktopItems, libxshmfence, wrapGAppsHook }: +{ lib, callPackage, ... }: let metaCommon = with lib; { @@ -7,117 +7,11 @@ let license = licenses.agpl3Plus; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ fliegendewurst ]; + maintainers = with maintainers; [ fliegendewurst eliandoran ]; }; - - version = "0.58.7"; - - desktopSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz"; - desktopSource.sha256 = "1xr8fx5m6p9z18al1iigf45acn7b69vhbc6z6q1v933bvkwry16c"; - - serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz"; - serverSource.sha256 = "0xr474z7wz0z4rqvk5rhv6xh51mdysr8zw86fs8fk7av0fdqxyka"; - in { - trilium-desktop = stdenv.mkDerivation rec { - pname = "trilium-desktop"; - inherit version; - meta = metaCommon // { - mainProgram = "trilium"; - }; + trilium-desktop = callPackage ./desktop.nix { metaCommon = metaCommon; }; + trilium-server = callPackage ./server.nix { metaCommon = metaCommon; }; - src = fetchurl desktopSource; - - nativeBuildInputs = [ - autoPatchelfHook - makeWrapper - wrapGAppsHook - copyDesktopItems - ]; - - buildInputs = atomEnv.packages ++ [ libxshmfence ]; - - desktopItems = [ - (makeDesktopItem { - name = "Trilium"; - exec = "trilium"; - icon = "trilium"; - comment = meta.description; - desktopName = "Trilium Notes"; - categories = [ "Office" ]; - }) - ]; - - # Remove trilium-portable.sh, so trilium knows it is packaged making it stop auto generating a desktop item on launch - postPatch = '' - rm ./trilium-portable.sh - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/bin - mkdir -p $out/share/trilium - mkdir -p $out/share/icons/hicolor/128x128/apps - - cp -r ./* $out/share/trilium - ln -s $out/share/trilium/trilium $out/bin/trilium - - ln -s $out/share/trilium/icon.png $out/share/icons/hicolor/128x128/apps/trilium.png - runHook postInstall - ''; - - # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :) - preFixup = '' - gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath}) - ''; - - dontStrip = true; - - passthru.updateScript = ./update.sh; - }; - - - trilium-server = stdenv.mkDerivation rec { - pname = "trilium-server"; - inherit version; - meta = metaCommon; - - src = fetchurl serverSource; - - nativeBuildInputs = [ - autoPatchelfHook - ]; - - buildInputs = [ - stdenv.cc.cc.lib - ]; - - patches = [ - # patch logger to use console instead of rolling files - ./0001-Use-console-logger-instead-of-rolling-files.patch - ]; - - installPhase = '' - runHook preInstall - mkdir -p $out/bin - mkdir -p $out/share/trilium-server - - cp -r ./* $out/share/trilium-server - runHook postInstall - ''; - - postFixup = '' - cat > $out/bin/trilium-server < $out/bin/trilium-server <