diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix new file mode 100644 index 00000000000..3849c96ec13 --- /dev/null +++ b/pkgs/shells/xonsh/default.nix @@ -0,0 +1,31 @@ +{stdenv, fetchurl, python3Packages}: + +python3Packages.buildPythonPackage rec { + name = "xonsh-${version}"; + version = "0.1.3"; + + # The logo xonsh prints during build contains unicode characters, and this + # fails because locales have not been set up in the build environment. + # We can fix this on Linux by setting: + # export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + # but this would not be a cross platform solution, so it's simpler to just + # patch the setup.py script to not print the logo during build. + prePatch = '' + substituteInPlace setup.py --replace "print(logo)" "" + ''; + + propagatedBuildInputs = [ python3Packages.ply ]; + + src = fetchurl { + url = "https://github.com/scopatz/xonsh/archive/${version}.zip"; + sha256 = "0p2d7p892w77ii8yy51vpw7jlz2y53k8g61m7l8bar3hr3qrl306"; + }; + + meta = with stdenv.lib; { + description = "A Python-ish, BASHwards-compatible shell"; + homepage = "http://xonsh.org"; + license = licenses.bsd3; + maintainers = [ maintainers.spwhitt ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index db1d42c1614..80c970cf9f5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3239,6 +3239,8 @@ let rush = callPackage ../shells/rush { }; + xonsh = callPackage ../shells/xonsh { }; + zsh = callPackage ../shells/zsh { };