summaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/md/mdformat/package.nix
blob: 69e10aee1c6f234f6049c08296accc8ddc45014f (plain)
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
29
30
31
32
33
34
{
  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: [ ])