Commit 7b8f1a2
Changed files (4)
pkgs/steelix/default.nix
@@ -0,0 +1,29 @@
+# Modify from https://github.com/NixOS/nixpkgs/blob/c4e0120b295daaac44f245f1c50ec06e844fe53b/pkgs/by-name/st/steelix/package.nix
+{
+ lib,
+ callPackage,
+ helix,
+ steelix-unwrapped ? callPackage ./unwrapped.nix {},
+}:
+(helix.override {
+ helix-unwrapped = steelix-unwrapped;
+}).overrideAttrs
+(
+ _: previousAttrs: {
+ pname = "steelix";
+ strictDeps = true;
+
+ meta =
+ previousAttrs.meta
+ // {
+ description = "Helix editor with Steel (Scheme) scripting support";
+ longDescription = ''
+ Steelix is a fork of the Helix editor with Steel (Scheme) scripting support.
+ '';
+ homepage = "https://github.com/mattwparas/helix";
+ changelog = "https://github.com/mattwparas/helix/blob/${steelix-unwrapped.src.rev}/CHANGELOG.md";
+ license = lib.licenses.mpl20;
+ mainProgram = "hx";
+ };
+ }
+)
pkgs/steelix/unwrapped.nix
@@ -0,0 +1,49 @@
+{
+ rustPlatform,
+ fetchFromGitHub,
+ fetchpatch,
+ helix-unwrapped,
+}:
+helix-unwrapped.overrideAttrs (
+ finalAttrs: _: {
+ pname = "steelix-unwrapped";
+
+ version = "0-unstable-2026-07-18";
+
+ src = fetchFromGitHub {
+ owner = "mattwparas";
+ repo = "helix";
+ rev = "8d189f46e9c620baa685bdfbe39b7c95928475a0";
+ hash = "sha256-qYR2f+uSUNsJYbbwSo9bCB+LI7n3NzQDCHXJRmHztDg=";
+ };
+
+ cargoDeps = rustPlatform.fetchCargoVendor {
+ inherit (finalAttrs) src pname version;
+ hash = "sha256-Od52YBH5dc4/zvIY3DbptZyrj9Vci/xbWI7PmExXWeU=";
+ };
+
+ cargoBuildFlags = [
+ "--package"
+ "helix-term"
+ "--features"
+ "steel,git"
+ ];
+
+ # This fork is built from Helix master, whose loader expects tree-sitter
+ # grammars with the platform-native extension (`.dylib` on Darwin) since
+ # helix-editor/helix#14982. We reuse the grammars from `helix.runtime`, built
+ # from the last Helix *release*, which still names them `.so` on Darwin, so
+ # revert that commit to make the loader look for `.so`. Remove once a Helix
+ # release ships #14982 and nixpkgs' grammars switch to `.dylib`.
+ patches = [
+ (fetchpatch {
+ name = "revert-dylib-grammar-extension.patch";
+ url = "https://github.com/helix-editor/helix/commit/430914b298a32653ab1847fdfdf2177a002be04c.patch";
+ revert = true;
+ hash = "sha256-4KUFppkso4/XwNU+mGIgLvl+mJXHZWkmaguYMy8oTyI=";
+ })
+ ];
+
+ doInstallCheck = false;
+ }
+)
default.nix
@@ -48,4 +48,6 @@ in {
shimmie2 = callPackage ./pkgs/shimmie2 {};
spritz-wine-bin = callPackage ./pkgs/spritz-wine-bin {};
+
+ steelix = callPackage ./pkgs/steelix {};
}
README.md
@@ -27,6 +27,7 @@
| `spritz-wine-bin.cachyos` | [spritz-wine-cachyos-bin-10.0-11](https://github.com/NelloKudo/spritz-wine) | `10.0-11` | [MIT](https://spdx.org/licenses/MIT.html) | Spritz-Wine builds for some games |
| `spritz-wine-bin.dwproton` | [spritz-wine-dwproton-bin-11.0-4](https://github.com/NelloKudo/spritz-wine) | `11.0-4` | [MIT](https://spdx.org/licenses/MIT.html) | Spritz-Wine builds for some games |
| `spritz-wine-bin.tkg` | [spritz-wine-tkg-bin-11.9-2](https://github.com/NelloKudo/spritz-wine) | `11.9-2` | [MIT](https://spdx.org/licenses/MIT.html) | Spritz-Wine builds for some games |
+| `steelix` | [steelix](https://github.com/mattwparas/helix) | `0-unstable-2026-07-18` | [MPL-2.0](https://spdx.org/licenses/MPL-2.0.html) | Helix editor with Steel (Scheme) scripting support |
### helixPlugins