alqages/packages/amadaluzian-xonsh/default.nix

75 lines
1.9 KiB
Nix
Raw Normal View History

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"; };
}