about summary refs log tree commit diff
path: root/nixpkgs/pkgs/shells/xonsh/wrapper.nix
blob: 7868404ca5fb35031c7e35b96d48b9c5e863cf63 (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
{ runCommand
, xonsh-unwrapped
, lib
, extraPackages ? (ps: [ ])
}:

let
  xonsh = xonsh-unwrapped;
  inherit (xonsh.passthru) python;

  pythonEnv = python.withPackages (ps: [
    (ps.toPythonModule xonsh)
  ] ++ extraPackages ps);

in
runCommand "${xonsh.pname}-${xonsh.version}"
{
  inherit (xonsh) pname version meta passthru;
} ''
  mkdir -p $out/bin
  for bin in ${lib.getBin xonsh}/bin/*; do
    ln -s ${pythonEnv}/bin/$(basename "$bin") $out/bin/
  done
''