refactor(flake): wrap xonsh as a package
This commit is contained in:
parent
660c9089d4
commit
d84ed13e0f
11 changed files with 287 additions and 135 deletions
|
@ -21,6 +21,7 @@
|
|||
};
|
||||
});
|
||||
amadaluzian-starship = prev.callPackage ./derivations/starship.nix {};
|
||||
amadaluzian-xonsh = prev.callPackage ./derivations/xonsh {};
|
||||
};
|
||||
perSystem = {pkgs, ...}: {
|
||||
packages = self.overlays.default null pkgs;
|
||||
|
|
1
overlays/derivations/xonsh/cfg/rc.xsh
Normal file
1
overlays/derivations/xonsh/cfg/rc.xsh
Normal file
|
@ -0,0 +1 @@
|
|||
execx($(zoxide init xonsh --cmd j), 'exec', __xonsh__.ctx, filename='zoxide')
|
98
overlays/derivations/xonsh/default.nix
Normal file
98
overlays/derivations/xonsh/default.nix
Normal file
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
makeWrapper,
|
||||
fetchFromGitHub,
|
||||
symlinkJoin,
|
||||
python3,
|
||||
amadaluzian-starship,
|
||||
zoxide,
|
||||
}: 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";
|
||||
|
||||
paths = [
|
||||
xonsh
|
||||
amadaluzian-starship
|
||||
zoxide
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/xonsh \
|
||||
--set XONSH_CONFIG_DIR ${./cfg}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
shellPath = "/bin/xonsh";
|
||||
};
|
||||
|
||||
meta = {
|
||||
mainProgram = "xonsh";
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue