Files
lux/modules/capabilities/helix.nix
T
2026-07-25 22:16:38 +02:00

71 lines
1.6 KiB
Nix

{ ... }:
{
flake.modules.homeManager.helix =
{ pkgs, ... }:
let
svelteLanguageServer = pkgs.svelte-language-server.overrideAttrs (
finalAttrs: _: {
version = "0.18.3";
src = pkgs.fetchFromGitHub {
owner = "sveltejs";
repo = "language-tools";
tag = "svelte-language-server@${finalAttrs.version}";
hash = "sha256-FTOkJPXbsG6R53yr4n0/IR2lzFCovrdV0+epOi07lBQ=";
};
pnpmDeps = pkgs.fetchPnpmDeps {
inherit (finalAttrs)
pname
version
src
pnpmWorkspaces
;
pnpm = pkgs.pnpm_10;
fetcherVersion = 3;
hash = "sha256-fY3hrCkr/soJk1gp39/jec8lT2ZJI27xRBCZi006oWA=";
};
}
);
in
{
programs.helix = {
enable = true;
extraPackages = with pkgs; [
svelteLanguageServer
nixd
nixfmt
oxfmt
];
languages = {
language = [
{
name = "svelte";
formatter = {
command = "oxfmt";
args = [ "--stdin-filepath=%{buffer_name}" ];
};
auto-format = true;
}
{
name = "nix";
auto-format = true;
}
];
};
settings = {
theme = "kanagawa";
editor = {
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
};
};
};
};
}