fix helix wrapper
This commit is contained in:
parent
ade7b62617
commit
63a04604d1
3 changed files with 27 additions and 26 deletions
|
|
@ -6,16 +6,7 @@
|
||||||
}@args:
|
}@args:
|
||||||
let
|
let
|
||||||
inherit (inputs.helix.packages."${pkgs.system}") helix;
|
inherit (inputs.helix.packages."${pkgs.system}") helix;
|
||||||
# helix-core = helix-unwrapped.overrideAttrs {
|
runtime = import ./runtime args;
|
||||||
# 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;
|
|
||||||
# };
|
|
||||||
runtimeInputs = (
|
runtimeInputs = (
|
||||||
with pkgs;
|
with pkgs;
|
||||||
[
|
[
|
||||||
|
|
@ -53,8 +44,6 @@ let
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
pkgs.symlinkJoin {
|
pkgs.symlinkJoin {
|
||||||
# pname = "helix-wrapped";
|
|
||||||
# version = helix.version;
|
|
||||||
name = "helix-wrapped";
|
name = "helix-wrapped";
|
||||||
paths = [ helix ];
|
paths = [ helix ];
|
||||||
inherit (helix) meta;
|
inherit (helix) meta;
|
||||||
|
|
@ -63,6 +52,7 @@ pkgs.symlinkJoin {
|
||||||
];
|
];
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
wrapProgram $out/bin/hx \
|
wrapProgram $out/bin/hx \
|
||||||
--suffix PATH : ${lib.makeBinPath runtimeInputs}
|
--suffix PATH : ${lib.makeBinPath runtimeInputs} \
|
||||||
|
--set HELIX_RUNTIME ${runtime}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,30 +65,41 @@ let
|
||||||
inherit (grammar) name;
|
inherit (grammar) name;
|
||||||
value = builtins.fetchTree {
|
value = builtins.fetchTree {
|
||||||
type = "github";
|
type = "github";
|
||||||
inherit (grammar) owner repo rev; };
|
inherit (grammar) owner repo rev;
|
||||||
|
};
|
||||||
}) grammars
|
}) grammars
|
||||||
);
|
);
|
||||||
queries = lib.mapAttrsToList (name: value: ''
|
queries = lib.mapAttrsToList (name: value: ''
|
||||||
mkdir -p $out/queries/${name}
|
mkdir -p $out/${name}
|
||||||
cp ${value}/queries/* $out/queries/${name}/
|
|
||||||
|
ln -s ${value}/queries/* $out/${name}/
|
||||||
'') sources;
|
'') sources;
|
||||||
runtime = pkgs.runCommand "helix-default-runtime" { } ''
|
|
||||||
mkdir -p $out
|
|
||||||
${builtins.concatStringsSep "\n" queries}
|
|
||||||
'';
|
|
||||||
builtGrammars = lib.listToAttrs (
|
builtGrammars = lib.listToAttrs (
|
||||||
map (grammar: {
|
map (grammar: {
|
||||||
inherit (grammar) name;
|
inherit (grammar) name;
|
||||||
value = buildGrammar grammar;
|
value = buildGrammar grammar;
|
||||||
}) grammars
|
}) 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 = [
|
grammarFiles = [
|
||||||
./idris.nix
|
./idris.nix
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
pkgs.runCommandNoCCLocal "helix-runtime" { } ''
|
||||||
overlays = [
|
mkdir -p $out
|
||||||
(final: prev: lib.filterAttrs (n: v: !(builtins.hasAttr n prev)) builtGrammars)
|
|
||||||
];
|
ln -s ${grammarDir} $out/grammars
|
||||||
inherit runtime;
|
ln -s ${queryDir} $out/queries
|
||||||
}
|
''
|
||||||
Loading…
Add table
Add a link
Reference in a new issue