about summary refs log tree commit diff
path: root/pkgs/by-name/xo/xonsh/package.nix
blob: de199ff4bc05c8f750c5cb94f7c4268092f1f81a (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
{ lib
, callPackage
, extraPackages ? (ps: [ ])
, runCommand
}:

let
  xonsh-unwrapped = callPackage ./unwrapped.nix { };
  inherit (xonsh-unwrapped.passthru) python;

  pythonEnv = python.withPackages (ps: [
    (ps.toPythonModule xonsh-unwrapped)
  ] ++ extraPackages ps);
in
runCommand "xonsh-${xonsh-unwrapped.version}"
{
  inherit (xonsh-unwrapped) pname version meta;
  passthru = xonsh-unwrapped.passthru // { unwrapped = xonsh-unwrapped; };
} ''
  mkdir -p $out/bin
  for bin in ${lib.getBin xonsh-unwrapped}/bin/*; do
    ln -s ${pythonEnv}/bin/$(basename "$bin") $out/bin/
  done
''