{ lib, inkscape, symlinkJoin, makeWrapper, inkscapeExtensions ? [ ], inkscape-extensions, }: let allExtensions = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) ( lib.attrValues inkscape-extensions ); selectedExtensions = if inkscapeExtensions == null then allExtensions else inkscapeExtensions; in symlinkJoin { name = "inkscape-with-extensions-${lib.getVersion inkscape}"; paths = [ inkscape ] ++ selectedExtensions; nativeBuildInputs = [ makeWrapper ]; postBuild = '' rm -f $out/bin/inkscape makeWrapper "${inkscape}/bin/inkscape" "$out/bin/inkscape" --set INKSCAPE_DATADIR "$out/share" ''; inherit (inkscape) meta; }