nixpkgs/pkgs/applications/misc/zathura/wrapper.nix

70 lines
1.8 KiB
Nix

{
symlinkJoin,
lib,
makeWrapper,
zathura_core,
zathura_djvu,
zathura_ps,
zathura_cb,
zathura_pdf_mupdf,
zathura_pdf_poppler,
file,
useMupdf,
plugins ? [
zathura_djvu
zathura_ps
zathura_cb
(if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler)
],
}:
symlinkJoin {
name = "zathura-with-plugins-${zathura_core.version}";
paths =
with zathura_core;
[
man
dev
out
]
++ plugins;
nativeBuildInputs = [ makeWrapper ];
postBuild =
let
fishCompletion = "share/fish/vendor_completions.d/zathura.fish";
in
''
makeWrapper ${zathura_core.bin}/bin/zathura $out/bin/zathura \
--prefix PATH ":" "${lib.makeBinPath [ file ]}" \
--prefix ZATHURA_PLUGINS_PATH : "$out/lib/zathura"
# zathura fish completion references the zathura_core derivation to
# check for supported plugins which live in the wrapper derivation,
# so we need to fix the path to reference $out instead.
rm "$out/${fishCompletion}"
substitute "${zathura_core.out}/${fishCompletion}" "$out/${fishCompletion}" \
--replace "${zathura_core.out}" "$out"
'';
meta = with lib; {
homepage = "https://pwmt.org/projects/zathura/";
description = "Highly customizable and functional PDF viewer";
longDescription = ''
Zathura is a highly customizable and functional PDF viewer based on the
poppler rendering library and the GTK toolkit. The idea behind zathura
is an application that provides a minimalistic and space saving interface
as well as an easy usage that mainly focuses on keyboard interaction.
'';
license = licenses.zlib;
platforms = platforms.unix;
maintainers = with maintainers; [
smironov
globin
TethysSvensson
];
mainProgram = "zathura";
};
}