update/navibeat
1# Modify from https://github.com/NixOS/nixpkgs/blob/c4e0120b295daaac44f245f1c50ec06e844fe53b/pkgs/by-name/st/steelix/package.nix
2{
3 lib,
4 callPackage,
5 helix,
6 tree-sitter-grammars,
7 lockedGrammars ? lib.filterAttrs (name: _: tree-sitter-grammars ? "tree-sitter-${name}") (lib.importJSON ./grammars.json),
8 steelix-unwrapped ? callPackage ./unwrapped.nix {},
9}:
10(helix.override {
11 helix-unwrapped = steelix-unwrapped;
12 lockedGrammars = lockedGrammars;
13 grammarsOverlay = final: prev: {
14 tree-sitter-agda = prev.tree-sitter-agda.override {
15 excludeBrokenTreeSitterJson = false;
16 };
17 tree-sitter-beancount = prev.tree-sitter-beancount.override {
18 excludeBrokenTreeSitterJson = false;
19 };
20 tree-sitter-git-rebase = prev.tree-sitter-git-rebase.overrideAttrs {
21 dontPatch = true;
22 };
23 tree-sitter-glimmer = prev.tree-sitter-glimmer.override {
24 excludeBrokenTreeSitterJson = false;
25 };
26 tree-sitter-janet-simple = prev.tree-sitter-janet-simple.override {
27 excludeBrokenTreeSitterJson = false;
28 };
29 tree-sitter-qmljs = prev.tree-sitter-qmljs.overrideAttrs {
30 dontCheckForBrokenSymlinks = true;
31 };
32 tree-sitter-sql = prev.tree-sitter-sql.override {
33 generate = false;
34 };
35 tree-sitter-strace = prev.tree-sitter-strace.override {
36 excludeBrokenTreeSitterJson = false;
37 };
38 tree-sitter-tact = prev.tree-sitter-tact.override {
39 excludeBrokenTreeSitterJson = false;
40 };
41 tree-sitter-tlaplus = prev.tree-sitter-tlaplus.overrideAttrs {
42 dontPatch = true;
43 };
44 tree-sitter-vue = prev.tree-sitter-vue.override {
45 excludeBrokenTreeSitterJson = false;
46 };
47 tree-sitter-wit = prev.tree-sitter-wit.override {
48 excludeBrokenTreeSitterJson = false;
49 };
50 tree-sitter-yuck = prev.tree-sitter-yuck.override {
51 excludeBrokenTreeSitterJson = false;
52 };
53 };
54}).overrideAttrs
55(
56 _: previousAttrs: {
57 pname = "steelix";
58 strictDeps = true;
59
60 passthru =
61 (previousAttrs.passthru or {})
62 // {
63 updateScript = [(toString ./update.sh)];
64 };
65
66 meta =
67 previousAttrs.meta
68 // {
69 description = "Helix editor with Steel (Scheme) scripting support";
70 longDescription = ''
71 Steelix is a fork of the Helix editor with Steel (Scheme) scripting support.
72 '';
73 homepage = "https://github.com/mattwparas/helix";
74 changelog = "https://github.com/mattwparas/helix/blob/${steelix-unwrapped.src.rev}/CHANGELOG.md";
75 license = lib.licenses.mpl20;
76 mainProgram = "hx";
77 };
78 }
79)