nixpkgs/pkgs/by-name/md/mdformat/package.nix
2024-02-07 17:12:49 -08:00

29 lines
651 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: [ ])