112 lines
2.6 KiB
Nix
112 lines
2.6 KiB
Nix
![]() |
{
|
||
|
makeWrapper,
|
||
|
fetchFromGitHub,
|
||
|
symlinkJoin,
|
||
|
python3,
|
||
|
amadaluzian-starship,
|
||
|
zoxide,
|
||
|
}: let
|
||
|
xonsh =
|
||
|
(python3.override {
|
||
|
packageOverrides = pyprev: _pyfinal: {
|
||
|
custom-xonsh = pyprev.xonsh.overrideAttrs (finalAttrs: {
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "xonsh";
|
||
|
repo = finalAttrs.pname;
|
||
|
rev = "0292b43e64c72ef16a75128d6346ce7d3b316d66";
|
||
|
hash = "sha256-kCtn8ujD0UahOLxtV9DD81awOYl6xirgnBoW/ywZxs0=";
|
||
|
};
|
||
|
});
|
||
|
};
|
||
|
})
|
||
|
.withPackages (ps: [
|
||
|
ps.custom-xonsh
|
||
|
(let
|
||
|
pname = "xontrib-fish-completer";
|
||
|
version = "0.0.1";
|
||
|
in
|
||
|
ps.buildPythonPackage {
|
||
|
inherit pname version;
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "xonsh";
|
||
|
repo = pname;
|
||
|
rev = version;
|
||
|
hash = "sha256-PhhdZ3iLPDEIG9uDeR5ctJ9zz2+YORHBhbsiLrJckyA=";
|
||
|
};
|
||
|
})
|
||
|
(let
|
||
|
pname = "xontrib-prompt-starship";
|
||
|
version = "0.3.6";
|
||
|
in
|
||
|
ps.buildPythonPackage {
|
||
|
inherit pname version;
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "anki-code";
|
||
|
repo = pname;
|
||
|
tag = version;
|
||
|
hash = "sha256-CLOvMa3L4XnH53H/k6/1W9URrPakPjbX1T1U43+eSR0=";
|
||
|
};
|
||
|
})
|
||
|
(let
|
||
|
pname = "xontrib-init-ssh-agent";
|
||
|
version = "1.0.1";
|
||
|
in
|
||
|
ps.buildPythonPackage {
|
||
|
inherit pname version;
|
||
|
pyproject = true;
|
||
|
build-system = [
|
||
|
ps.setuptools
|
||
|
ps.wheel
|
||
|
];
|
||
|
dependencies = [
|
||
|
ps.custom-xonsh
|
||
|
];
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "amadaluzia";
|
||
|
repo = pname;
|
||
|
rev = "cac9cfec70ec15b0ed4f1c8a18154ea9b4f8fb47";
|
||
|
hash = "sha256-UkRPdaZFNP8qv7lMwsTUalnre3k2UMfqMzmiTveLiBM=";
|
||
|
};
|
||
|
})
|
||
|
(let
|
||
|
pname = "xonsh-direnv";
|
||
|
version = "1.6.5";
|
||
|
in
|
||
|
ps.buildPythonPackage {
|
||
|
inherit pname version;
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "74th";
|
||
|
repo = pname;
|
||
|
tag = version;
|
||
|
hash = "sha256-huBJ7WknVCk+WgZaXHlL+Y1sqsn6TYqMP29/fsUPSyU=";
|
||
|
};
|
||
|
})
|
||
|
]);
|
||
|
in
|
||
|
symlinkJoin {
|
||
|
name = "xonsh";
|
||
|
|
||
|
paths = [
|
||
|
xonsh
|
||
|
amadaluzian-starship
|
||
|
zoxide
|
||
|
];
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
makeWrapper
|
||
|
];
|
||
|
|
||
|
postBuild = ''
|
||
|
wrapProgram $out/bin/xonsh \
|
||
|
--set XONSH_CONFIG_DIR ${./cfg}
|
||
|
'';
|
||
|
|
||
|
passthru = {
|
||
|
shellPath = "/bin/xonsh";
|
||
|
};
|
||
|
|
||
|
meta = {
|
||
|
mainProgram = "xonsh";
|
||
|
};
|
||
|
}
|