2025-04-02 20:37:22 +01:00
|
|
|
{ makeWrapper, fetchFromGitHub, symlinkJoin, python3, inputs, system, zoxide
|
|
|
|
, ... # ffs nixpkgs
|
|
|
|
}:
|
|
|
|
let
|
|
|
|
xonsh = python3.withPackages (ps: [
|
|
|
|
ps.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.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";
|
2025-02-10 20:28:46 +00:00
|
|
|
|
2025-04-02 20:37:22 +01:00
|
|
|
paths = [ xonsh inputs.self.packages.${system}.amadaluzian-starship zoxide ];
|
2025-02-10 20:28:46 +00:00
|
|
|
|
2025-04-02 20:37:22 +01:00
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
2025-02-10 20:28:46 +00:00
|
|
|
|
2025-04-02 20:37:22 +01:00
|
|
|
postBuild = ''
|
|
|
|
wrapProgram $out/bin/xonsh \
|
|
|
|
--set XONSH_CONFIG_DIR ${./cfg}
|
|
|
|
'';
|
2025-02-10 20:28:46 +00:00
|
|
|
|
2025-04-02 20:37:22 +01:00
|
|
|
passthru = { shellPath = "/bin/xonsh"; };
|
2025-02-10 20:28:46 +00:00
|
|
|
|
2025-04-02 20:37:22 +01:00
|
|
|
meta = { mainProgram = "xonsh"; };
|
|
|
|
}
|