{ pname, version, hash, appimageTools, lib, fetchurl, makeWrapper, }: # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs. let src = fetchurl { url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage"; inherit hash; }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; in appimageTools.wrapType2 rec { inherit pname version src; extraPkgs = pkgs: [ pkgs.texliveMedium pkgs.pandoc ]; nativeBuildInputs = [ makeWrapper ]; extraInstallCommands = '' wrapProgram $out/bin/zettlr \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" install -m 444 -D ${appimageContents}/Zettlr.desktop $out/share/applications/Zettlr.desktop install -m 444 -D ${appimageContents}/Zettlr.png $out/share/icons/hicolor/512x512/apps/Zettlr.png substituteInPlace $out/share/applications/Zettlr.desktop \ --replace-fail 'Exec=AppRun' 'Exec=${pname}' ''; meta = { description = "Markdown editor for writing academic texts and taking notes"; homepage = "https://www.zettlr.com"; platforms = [ "x86_64-linux" ]; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ tfmoraes ]; mainProgram = "zettlr"; }; }