helix: rework

This commit is contained in:
Bloxx12 2025-06-04 08:26:52 +02:00
commit 2239e0e983
Signed by: faukah
SSH key fingerprint: SHA256:Uj2AXqvtdCA4hn5Hq0ZonhIAyUqI1q4w2sMG3Z1TH7E
5 changed files with 55 additions and 22 deletions

View file

@ -21,10 +21,9 @@
inherit inherit
(import ./packages { (import ./packages {
inherit pkgs; inherit pkgs;
helix = inputs.helix.packages.${system}.default;
}) })
fish fish
wrapped-helix helix
kakoune kakoune
; ;
} }
@ -32,7 +31,7 @@
pkgsFor; pkgsFor;
apps = eachSystem (system: let apps = eachSystem (system: let
inherit (inputs.self.packages.${system}) fish wrapped-helix; inherit (inputs.self.packages.${system}) fish helix;
in { in {
default = { default = {
type = "app"; type = "app";
@ -40,7 +39,7 @@
}; };
helix = { helix = {
type = "app"; type = "app";
program = "${wrapped-helix}/bin/hx"; program = "${helix}/bin/hx";
}; };
}); });
}; };
@ -71,8 +70,6 @@
inputs.systems.follows = "systems"; inputs.systems.follows = "systems";
}; };
helix.url = "github:helix-editor/helix";
quickshell = { quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
# THIS IS IMPORTANT # THIS IS IMPORTANT

View file

@ -9,7 +9,7 @@
... ...
}: let }: let
inherit (lib.meta) hiPrioSet; inherit (lib.meta) hiPrioSet;
inherit (self.packages.${pkgs.stdenv.system}) wrapped-helix fish; inherit (self.packages.${pkgs.stdenv.system}) helix fish;
in { in {
environment.systemPackages = environment.systemPackages =
builtins.attrValues { builtins.attrValues {
@ -46,7 +46,7 @@ in {
; ;
} }
++ builtins.attrValues (hiPrioSet { ++ builtins.attrValues (hiPrioSet {
inherit wrapped-helix fish; inherit helix fish;
}); });
# helix as the only editor, a reasonable choice. # helix as the only editor, a reasonable choice.
environment.sessionVariables.EDITOR = "hx"; environment.sessionVariables.EDITOR = "hx";

View file

@ -1,10 +1,9 @@
{ {pkgs}: let
pkgs, inherit (pkgs) lib;
helix, wrapped-helix = pkgs.callPackage ./helix {};
}: let
wrapped-helix = pkgs.callPackage ./helix {inherit helix;};
kakoune = pkgs.callPackage ./kakoune.nix {}; kakoune = pkgs.callPackage ./kakoune.nix {};
fish = pkgs.callPackage ./shell {}; fish = pkgs.callPackage ./shell {inherit lib;};
in { in {
inherit wrapped-helix kakoune fish; inherit kakoune fish;
helix = wrapped-helix;
} }

View file

@ -2,6 +2,8 @@
symlinkJoin, symlinkJoin,
makeWrapper, makeWrapper,
callPackage, callPackage,
fetchzip,
rustPlatform,
alejandra, alejandra,
basedpyright, basedpyright,
bash-language-server, bash-language-server,
@ -21,7 +23,6 @@
lazygit, lazygit,
lib, lib,
lldb_19, lldb_19,
nil,
nixd, nixd,
ruff, ruff,
rust-analyzer, rust-analyzer,
@ -40,6 +41,21 @@
}: let }: let
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
custom-helix = helix.overrideAttrs (_: rec {
version = "25.06.1";
src = fetchzip {
url = "https://github.com/bloxx12/helix/releases/download/${version}/helix-${version}-source.tar.xz";
hash = "sha256-941moaBUF+aGsbFapK1cp5+NFdecSfRCTdnVUtkDQps=";
stripRoot = false;
};
doInstallCheck = false;
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (custom-helix) src;
hash = "sha256-w07ZV1tR3lzYz4N+hI9alvFp0AHCcsItPRhVt9Sluo8=";
};
});
toml = formats.toml {}; toml = formats.toml {};
helix-languages = callPackage ./languages.nix {inherit lib;}; helix-languages = callPackage ./languages.nix {inherit lib;};
@ -116,7 +132,7 @@
wrapped-helix = symlinkJoin { wrapped-helix = symlinkJoin {
name = "helix-wrapped"; name = "helix-wrapped";
paths = [ paths = [
helix custom-helix
# Bash # Bash
bash-language-server bash-language-server
@ -128,8 +144,7 @@
lldb_19 lldb_19
# Markdown # Markdown
taplo taplo
# Nix
nil
nixd nixd
rust-analyzer rust-analyzer
rustfmt rustfmt

View file

@ -1,22 +1,25 @@
{ {
fetchFromGitHub,
rustPlatform,
alejandra, alejandra,
basedpyright, basedpyright,
bash-language-server, bash-language-server,
clang-tools, clang-tools,
cmake-format, cmake-format,
cmake-language-server, cmake-language-server,
deadnix,
deno, deno,
dprint, dprint,
formats, formats,
gdb, gdb,
kdePackages,
lib, lib,
nil, nil,
ruff, ruff,
shfmt, shfmt,
kdePackages, simple-completion-language-server,
typescript-language-server, typescript-language-server,
vscode-langservers-extracted, vscode-langservers-extracted,
simple-completion-language-server,
zls, zls,
... ...
}: let }: let
@ -24,6 +27,22 @@
toml = formats.toml {}; toml = formats.toml {};
# a newer nil version, for pipes support.
newer-nil = nil.overrideAttrs (_: {
version = "unstable-02-06-2025";
src = fetchFromGitHub {
owner = "oxalica";
repo = "nil";
rev = "577d160da311cc7f5042038456a0713e9863d09e";
hash = "sha256-ggXU3RHv6NgWw+vc+HO4/9n0GPufhTIUjVuLci8Za8c=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (newer-nil) src;
hash = "sha256-uZsLlFU9GKLvFllF7Kf5Q7HfN26KQojf4rvOb9p7Rjs=";
};
});
helix-languages = { helix-languages = {
language = let language = let
mark = lang: { mark = lang: {
@ -186,10 +205,13 @@
}; };
nil = { nil = {
command = getExe nil; command = getExe newer-nil;
# alejandro # alejandro
config.nil.formatting.command = ["${getExe alejandra}" "-q"]; config.nil.formatting.command = ["${getExe alejandra}" "-q"];
}; };
deadnix = {
command = getExe deadnix;
};
scls = { scls = {
command = getExe simple-completion-language-server; command = getExe simple-completion-language-server;