about summary refs log tree commit diff
path: root/pkgs/by-name/md/mdformat/package.nix
blob: 24cbd66d864c39b1b9fb06d543e3646646947788 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{ 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: [ ])