Move helix runtime inputs to hm extraPackages option

This commit is contained in:
ulic-youthlic 2025-06-09 10:47:34 +08:00
parent 11e14b01f9
commit 915256aa94
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
8 changed files with 67 additions and 84 deletions

View file

@ -17,7 +17,6 @@
in { in {
firefox.enable = true; firefox.enable = true;
fuzzel.enable = true; fuzzel.enable = true;
helix.enable = true;
gpg.enable = true; gpg.enable = true;
git = { git = {
inherit name signKey; inherit name signKey;
@ -48,6 +47,7 @@
wallpaper.enable = true; wallpaper.enable = true;
accounts.email.enable = true; accounts.email.enable = true;
programs = { programs = {
helix.enable = true;
openssh.enable = true; openssh.enable = true;
}; };
}; };

View file

@ -20,7 +20,6 @@
rustypaste-cli.enable = true; rustypaste-cli.enable = true;
firefox.enable = true; firefox.enable = true;
fuzzel.enable = true; fuzzel.enable = true;
helix.enable = true;
gpg.enable = true; gpg.enable = true;
jujutsu = { jujutsu = {
enable = true; enable = true;
@ -54,6 +53,7 @@
accounts.email.enable = true; accounts.email.enable = true;
programs = { programs = {
openssh.enable = true; openssh.enable = true;
helix.enable = true;
}; };
}; };

View file

@ -3,5 +3,6 @@
./openssh.nix ./openssh.nix
./niri ./niri
./wluma ./wluma
./helix.nix
]; ];
} }

View file

@ -0,0 +1,57 @@
{
lib,
config,
pkgs,
...
}: let
cfg = config.david.programs.helix;
in {
options = {
david.programs.helix = {
enable = lib.mkEnableOption "helix";
};
};
config = lib.mkIf cfg.enable {
youthlic.programs.helix = {
enable = true;
extraPackages = with pkgs; [
nixfmt-rfc-style
idris2Packages.idris2Lsp
lua-language-server
bash-language-server
shfmt
hurl
cmake-language-server
kdlfmt
rustfmt
clang-tools
libxml2
typstyle
pyright
ruff
gotools
yaml-language-server
taplo
markdown-oxide
marksman
nixd
deno
alejandra
vscode-langservers-extracted
fish-lsp
tailwindcss-language-server
gopls
golangci-lint-langserver
tinymist
delve
lldb
rust-analyzer
# nil
haskell-language-server
neocmakelsp
jdt-language-server
zls
];
};
};
}

View file

@ -28,14 +28,9 @@
stylix.targets.helix.enable = false; stylix.targets.helix.enable = false;
programs.helix = lib.mkIf cfg.enable { programs.helix = lib.mkIf cfg.enable {
enable = true; enable = true;
package = outputs.packages."${pkgs.system}".helix;
defaultEditor = true; defaultEditor = true;
extraPackages = cfg.extraPackages; extraPackages = cfg.extraPackages;
settings = let settings = ./config.toml |> builtins.readFile |> builtins.fromTOML;
config-file = builtins.readFile ./config.toml;
config = builtins.fromTOML config-file;
in
config;
languages = { languages = {
language-server = { language-server = {
neocmakelsp = { neocmakelsp = {

View file

@ -9,6 +9,7 @@ in
./radicle-explorer.nix ./radicle-explorer.nix
./wshowkeys.nix ./wshowkeys.nix
./QQ.nix ./QQ.nix
./helix.nix
] ]
|> map (file: import file args) |> map (file: import file args)
|> (overlays: (lib.composeManyExtensions overlays) final prev) |> (overlays: (lib.composeManyExtensions overlays) final prev)

View file

@ -0,0 +1,5 @@
{outputs, ...}: final: prev: let
inherit (prev.stdenv.hostPlatform) system;
in {
helix = outputs.packages."${system}".helix;
}

View file

@ -1,87 +1,12 @@
{ {
lib,
inputs, inputs,
system, system,
callPackage, callPackage,
symlinkJoin, symlinkJoin,
makeWrapper, makeWrapper,
nixfmt-rfc-style,
idris2Packages,
lua-language-server,
bash-language-server,
shfmt,
hurl,
cmake-language-server,
kdlfmt,
rustfmt,
clang-tools,
libxml2,
typstyle,
pyright,
ruff,
gotools,
yaml-language-server,
taplo,
markdown-oxide,
marksman,
nixd,
deno,
alejandra,
vscode-langservers-extracted,
fish-lsp,
tailwindcss-language-server,
gopls,
golangci-lint-langserver,
tinymist,
delve,
lldb,
rust-analyzer,
# nil,
haskell-language-server,
neocmakelsp,
jdt-language-server,
zls,
}: let }: let
inherit (inputs.helix.packages."${system}") helix; inherit (inputs.helix.packages."${system}") helix;
runtime = callPackage ./runtime.nix {}; runtime = callPackage ./runtime.nix {};
runtimeInputs = [
nixfmt-rfc-style
idris2Packages.idris2Lsp
lua-language-server
bash-language-server
shfmt
hurl
cmake-language-server
kdlfmt
rustfmt
clang-tools
libxml2
typstyle
pyright
ruff
gotools
yaml-language-server
taplo
markdown-oxide
marksman
nixd
deno
alejandra
vscode-langservers-extracted
fish-lsp
tailwindcss-language-server
gopls
golangci-lint-langserver
tinymist
delve
lldb
rust-analyzer
# nil
haskell-language-server
neocmakelsp
jdt-language-server
zls
];
in in
symlinkJoin { symlinkJoin {
name = "helix-wrapped"; name = "helix-wrapped";
@ -92,7 +17,6 @@ in
]; ];
postBuild = '' postBuild = ''
wrapProgram $out/bin/hx \ wrapProgram $out/bin/hx \
--suffix PATH : ${lib.makeBinPath runtimeInputs} \
--set HELIX_RUNTIME ${runtime} --set HELIX_RUNTIME ${runtime}
''; '';
} }