fix helix wrapper

This commit is contained in:
ulic-youthlic 2025-03-07 00:25:18 +08:00
parent ade7b62617
commit 63a04604d1
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
3 changed files with 27 additions and 26 deletions

View file

@ -6,16 +6,7 @@
}@args:
let
inherit (inputs.helix.packages."${pkgs.system}") helix;
# helix-core = helix-unwrapped.overrideAttrs {
# HELIX_DEFAULT_RUNTIME = "${grammarRuntime}";
# };
# helix-wrapped = (helix.override grammarConfig).passthru.wrapper helix-core;
# grammars = import ./grammars args;
# grammarOverlays = grammars.overlays;
# grammarRuntime = grammars.runtime;
# grammarConfig = {
# inherit grammarOverlays;
# };
runtime = import ./runtime args;
runtimeInputs = (
with pkgs;
[
@ -53,8 +44,6 @@ let
);
in
pkgs.symlinkJoin {
# pname = "helix-wrapped";
# version = helix.version;
name = "helix-wrapped";
paths = [ helix ];
inherit (helix) meta;
@ -63,6 +52,7 @@ pkgs.symlinkJoin {
];
postBuild = ''
wrapProgram $out/bin/hx \
--suffix PATH : ${lib.makeBinPath runtimeInputs}
--suffix PATH : ${lib.makeBinPath runtimeInputs} \
--set HELIX_RUNTIME ${runtime}
'';
}

View file

@ -65,30 +65,41 @@ let
inherit (grammar) name;
value = builtins.fetchTree {
type = "github";
inherit (grammar) owner repo rev; };
inherit (grammar) owner repo rev;
};
}) grammars
);
queries = lib.mapAttrsToList (name: value: ''
mkdir -p $out/queries/${name}
cp ${value}/queries/* $out/queries/${name}/
mkdir -p $out/${name}
ln -s ${value}/queries/* $out/${name}/
'') sources;
runtime = pkgs.runCommand "helix-default-runtime" { } ''
mkdir -p $out
${builtins.concatStringsSep "\n" queries}
'';
builtGrammars = lib.listToAttrs (
map (grammar: {
inherit (grammar) name;
value = buildGrammar grammar;
}) grammars
);
grammarLinks = lib.mapAttrsToList (
name: value: "ln -s ${value}/${name}.so $out/${name}.so"
) builtGrammars;
grammarDir = pkgs.runCommandNoCCLocal "helix-grammars" { } ''
mkdir -p $out
${builtins.concatStringsSep "\n" grammarLinks}
'';
queryDir = pkgs.runCommandNoCCLocal "helix-query" { } ''
mkdir -p $out
${builtins.concatStringsSep "\n" queries}
'';
grammarFiles = [
./idris.nix
];
in
{
overlays = [
(final: prev: lib.filterAttrs (n: v: !(builtins.hasAttr n prev)) builtGrammars)
];
inherit runtime;
}
pkgs.runCommandNoCCLocal "helix-runtime" { } ''
mkdir -p $out
ln -s ${grammarDir} $out/grammars
ln -s ${queryDir} $out/queries
''