71 lines
1.6 KiB
Nix
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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|