chore: Refactor helix package

This commit is contained in:
ulic-youthlic 2025-10-18 21:24:33 +08:00
parent 43c313414d
commit 812f3c80cc
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721

View file

@ -2,34 +2,34 @@
inputs, inputs,
system, system,
callPackage, callPackage,
symlinkJoin, buildEnv,
makeWrapper,
lib, lib,
}: }:
let let
inherit (inputs.helix.packages."${system}") helix; inherit (inputs.helix.packages."${system}") helix;
helixWithPassthru = helix // {
passthru = helix.passthru // {
languages = lib.pipe "${helix.src}/languages.toml" [
builtins.readFile
builtins.fromTOML
];
};
};
runtime = callPackage ./runtime.nix { }; runtime = callPackage ./runtime.nix { };
helix' = helix.overrideAttrs (
_final: prev:
let
helix-runtime = buildEnv {
name = "helix-runtime";
paths = [
runtime
prev.env.HELIX_DEFAULT_RUNTIME
];
};
in
{
env.HELIX_DEFAULT_RUNTIME = toString helix-runtime;
}
);
in in
symlinkJoin { helix'
name = "helix-wrapped"; // {
paths = [ helixWithPassthru ]; passthru = (helix'.passthru or { }) // {
inherit (helixWithPassthru) meta; languages = lib.pipe "${helix.src}/languages.toml" [
buildInputs = [ builtins.readFile
makeWrapper builtins.fromTOML
]; ];
postBuild = ''
wrapProgram $out/bin/hx \
--set HELIX_RUNTIME ${runtime}
'';
passthru = helixWithPassthru.passthru // {
helix-unwrapped = helixWithPassthru;
}; };
} }