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.5.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; }); }