depot/third_party/nixpkgs/pkgs/by-name/md/mdformat/package.nix

34 lines
728 B
Nix

{
lib,
python3,
runCommand,
}:
let
python = python3;
# selector is a function mapping pythonPackages to a list of plugins
# e.g. `mdformat.withPlugins (ps: with ps; [ mdformat-footnote ])`
withPlugins =
selector:
runCommand "mdformat-wrapped"
{
inherit (python.pkgs.mdformat) pname version meta;
nativeBuildInputs = [
python.pkgs.wrapPython
];
plugins = selector python.pkgs;
passthru = {
inherit withPlugins;
};
}
''
buildPythonPath $plugins
makeWrapper ${lib.getExe python.pkgs.mdformat} $out/bin/mdformat \
--suffix PYTHONPATH : "$program_PYTHONPATH"
'';
in
withPlugins (ps: [ ])