refactor(xonsh): make a better xonsh wrapper

This commit is contained in:
Artur Manuel 2025-01-18 22:53:36 +00:00
commit 41992c65e7
4 changed files with 103 additions and 87 deletions

View file

@ -43,7 +43,7 @@
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
time.timeZone = "Europe/London"; time.timeZone = "Europe/London";
i18n.defaultLocale = "nl_NL.UTF-8"; i18n.defaultLocale = "de_DE.UTF-8";
system.stateVersion = "24.11"; system.stateVersion = "24.11";
}; };
} }

View file

@ -1,5 +1,8 @@
{self, ...}: { {self, ...}: {
flake.overlays.default = _final: prev: { flake.overlays.default = _final: prev: let
packages = {
amadaluzian-starship = prev.callPackage ./derivations/starship.nix {};
amadaluzian-xonsh = prev.callPackage ./derivations/xonsh {inherit (packages) amadaluzian-starship;};
fairfax = prev.callPackage ./derivations/fairfax.nix {}; fairfax = prev.callPackage ./derivations/fairfax.nix {};
river-bedload = prev.callPackage ./derivations/river-bedload {}; river-bedload = prev.callPackage ./derivations/river-bedload {};
nicotine-plus = prev.symlinkJoin { nicotine-plus = prev.symlinkJoin {
@ -20,9 +23,9 @@
hash = "sha256-vCWs+TOVURl18EdbJr5QAHfB+JX9lYJ3TPO6IklKeFE="; hash = "sha256-vCWs+TOVURl18EdbJr5QAHfB+JX9lYJ3TPO6IklKeFE=";
}; };
}); });
amadaluzian-starship = prev.callPackage ./derivations/starship.nix {};
amadaluzian-xonsh = prev.callPackage ./derivations/xonsh {};
}; };
in
packages;
perSystem = {pkgs, ...}: { perSystem = {pkgs, ...}: {
packages = self.overlays.default null pkgs; packages = self.overlays.default null pkgs;
}; };

View file

@ -6,8 +6,21 @@
amadaluzian-starship, amadaluzian-starship,
zoxide, zoxide,
}: let }: let
xonsh = python3.withPackages (ps: [ xonsh =
ps.xonsh (python3.override {
packageOverrides = pyprev: _pyfinal: {
custom-xonsh = pyprev.xonsh.overrideAttrs (finalAttrs: {
src = fetchFromGitHub {
owner = "amadaluzia";
repo = finalAttrs.pname;
rev = "8d01b29e0e9b4f7d63ec380ceb1e701302c33ee8";
hash = "sha256-jBAJTjH80GJ89u8r/zVWnMNXXi9V9qPw0AVy071a7rg=";
};
});
};
})
.withPackages (ps: [
ps.custom-xonsh
(let (let
pname = "xontrib-fish-completer"; pname = "xontrib-fish-completer";
version = "0.0.1"; version = "0.0.1";
@ -34,27 +47,27 @@
hash = "sha256-CLOvMa3L4XnH53H/k6/1W9URrPakPjbX1T1U43+eSR0="; hash = "sha256-CLOvMa3L4XnH53H/k6/1W9URrPakPjbX1T1U43+eSR0=";
}; };
}) })
(let # (let
pname = "xontrib-init-ssh-agent"; # pname = "xontrib-init-ssh-agent";
version = "1.0.1"; # version = "1.0.1";
in # in
ps.buildPythonPackage { # ps.buildPythonPackage {
inherit pname version; # inherit pname version;
pyproject = true; # pyproject = true;
build-system = [ # build-system = [
ps.setuptools # ps.setuptools
ps.wheel # ps.wheel
]; # ];
dependencies = [ # dependencies = [
ps.xonsh # ps.xonsh
]; # ];
src = fetchFromGitHub { # src = fetchFromGitHub {
owner = "amadaluzia"; # owner = "amadaluzia";
repo = pname; # repo = pname;
rev = "cac9cfec70ec15b0ed4f1c8a18154ea9b4f8fb47"; # rev = "cac9cfec70ec15b0ed4f1c8a18154ea9b4f8fb47";
hash = "sha256-UkRPdaZFNP8qv7lMwsTUalnre3k2UMfqMzmiTveLiBM="; # hash = "sha256-UkRPdaZFNP8qv7lMwsTUalnre3k2UMfqMzmiTveLiBM=";
}; # };
}) # })
(let (let
pname = "xonsh-direnv"; pname = "xonsh-direnv";
version = "1.6.5"; version = "1.6.5";