Files
dotfiles/nix/overlays/xonsh.nix
Tim McCarthy d105b1aff2 Fix xonsh overlay on Linux
switched overrideAttrs to overridePythonAttrs and disabled tests that
make bad assumptions about user environment
2022-05-17 16:24:18 -07:00

48 lines
1.5 KiB
Nix

final: prev: {
xonsh = prev.xonsh.overridePythonAttrs (old: rec {
version = "0.12.4";
src = final.fetchFromGitHub {
owner = "xonsh";
repo = "xonsh";
rev = version;
sha256 = "0kdps0gf0767zy0fs6qn39rv4z3x7ck0qz1pzx6962593171yk8b";
};
propagatedBuildInputs = prev.xonsh.propagatedBuildInputs ++ [final.python3Packages.virtualenv];
disabledTests = prev.xonsh.disabledTests ++ ["test_commands_cache" "test_ptk_highlight" "test_command_completers"];
});
python39 = prev.python39.override {
self = prev.python39;
packageOverrides = python_final: python_super: {
prompt-toolkit = python_super.prompt-toolkit.overridePythonAttrs (old: rec {
version = "3.0.29";
src = python_final.fetchPypi {
pname = "prompt_toolkit";
inherit version;
sha256 = "sha256-vWQPYOjOzXTw3CSXE9QzrOLdxitl7gf5bTWOCxUrbqc=";
};
});
};
};
# Using mach-nix to fetch unpackaged xontrib plugins
# adapted from https://github.com/NixOS/nixpkgs/issues/75786#issuecomment-873654103
mach-nix = import (builtins.fetchGit {
url = "https://github.com/DavHau/mach-nix/";
ref = "refs/tags/3.4.0";
}) {
pkgs = final;
};
xonsh_pyenv = final.mach-nix.mkPython {
requirements = ''
xontrib-fzf-widgets
xonsh-direnv
'';
};
xonsh_with_plugins = final.xonsh.overridePythonAttrs (old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ final.xonsh_pyenv.python.pkgs.selectPkgs final.xonsh_pyenv.python.pkgs;
});
}