helix module remove redudancy

This commit is contained in:
Emile Clark-Boman 2026-01-29 14:39:59 +10:00
parent 51a67d039f
commit ba1a3fe07e
3 changed files with 74 additions and 66 deletions

View file

@ -1,5 +1,55 @@
{pkgs, ...}: {
# read https://docs.helix-editor.com/editor.html
{
pkgs,
pkgs-unstable,
...
}: let
lsps = let
mkLsp = pkg: path: {inherit pkg path;};
in {
bash-language-server =
mkLsp
pkgs.bash-language-server
"/bin/bash-language-server";
clangd =
mkLsp
pkgs.clang-tools
"/bin/clangd";
haskell-language-server =
mkLsp
pkgs.haskell-language-server
"/bin/haskell-language-server-wrapper";
# TODO: once upgraded past Nix-24.07 this line won't be necessary (I think)
# helix will support nixd by default
# SOURCE: https://github.com/nix-community/nixd/blob/main/nixd/docs/editor-setup.md#Helix
nixd =
mkLsp
pkgs.nixd
"/bin/nixd";
OmniSharp =
mkLsp
pkgs.omnisharp-roslyn
"/bin/OmniSharp";
rust-analyzer =
mkLsp
pkgs.rust-analyzer
"/bin/rust-analyzer";
ty =
mkLsp
pkgs.ty
"/bin/ty";
};
in {
environment.systemPackages =
lsps
|> map (lsp: lsp.pkg);
# REF: https://docs.helix-editor.com/editor.html
programs.helix = {
enable = true;
settings = {
@ -128,11 +178,12 @@
};
auto-format = false; # my python is beautiful ^_^
rulers = [80];
language-servers = ["ty"];
}
{
name = "c";
file-types = ["c" "h"]; # use .hpp for C++
auto-format = false;
auto-format = true;
formatter.command = "${pkgs.clang-tools}/bin/clang-format";
language-servers = ["clangd"];
}
@ -152,49 +203,27 @@
formatter.command = "${pkgs.rustfmt}/bin/rustfmt";
language-servers = ["rust-analyzer"];
}
# {
# name = "c-sharp";
# source = "source.cs";
# file-types = ["cs"];
# indent = {
# tab-width = 4;
# unit = " ";
# };
# block-comment-tokens = {
# start = "/*";
# end = "*/";
# };
# # auto-format = false;
# # formatter.command = "${pkgs.omnisharp-roslyn}/bin/OmniSharp";
# # language-servers = ["OmniSharp"];
# }
{
name = "c-sharp";
source = "source.cs";
file-types = ["cs"];
indent = {
tab-width = 4;
unit = " ";
};
block-comment-tokens = {
start = "/*";
end = "*/";
};
# auto-format = false;
# formatter.command = "${pkgs.omnisharp-roslyn}/bin/OmniSharp";
# language-servers = ["OmniSharp"];
}
];
language-server = {
# use nixd as default nix lsp (I haven't tried nil yet)
# NOTE: nixd will be supported by default after nix 24.07
# SOURCE: https://github.com/nix-community/nixd/blob/main/nixd/docs/editor-setup.md#Helix
nixd = {
command = "${pkgs.nixd}/bin/nixd";
};
# clangd for C
clangd = {
command = "${pkgs.clang-tools}/bin/clangd";
};
haskell-language-server = {
command = "${pkgs.haskell-language-server}/bin/haskell-language-server-wrapper";
};
rust-analyzer = {
command = "${pkgs.rust-analyzer}/bin/rust-analyzer";
};
# C# language services
OmniSharp = {
command = "${pkgs.omnisharp-roslyn}/bin/OmniSharp";
};
};
language-server =
lsps
|> builtins.mapAttrs (_: lsp: "${lsp.pkg}${lsp.path}");
};
};
}

View file

@ -296,13 +296,12 @@ in {
# C Family
gcc
clang
clang-tools
# Rust
cargo
rustc
rustfmt
rust-analyzer
# Go
go
# Nim
@ -311,14 +310,9 @@ in {
# Haskell
ghc
ghcid
haskell-language-server
ormolu
# Nix
# TODO: once upgraded past Nix-24.07 this line won't be necessary (I think)
# helix will support nixd by default
# SOURCE: https://github.com/nix-community/nixd/blob/main/nixd/docs/editor-setup.md#Helix
nixd # lsp for nix
nix-prefetch-git
nix-index
nix-unit

View file

@ -307,19 +307,9 @@ in {
# Haskell
ghc
ghcid
haskell-language-server
ormolu
# Java
# jdk17
# (jre8.overrideAttrs
# (oldAttrs: {
# enableJavaFX = true;
# }))
# (jdk8.overrideAttrs
# (oldAttrs: {
# enableJavaFX = true;
# }))
visualvm
# Python
@ -357,11 +347,6 @@ in {
tesseract # for my work with Agribit
# TODO: once upgraded past Nix-24.07 this line won't be necessary (I think)
# helix will support nixd by default
# SOURCE: https://github.com/nix-community/nixd/blob/main/nixd/docs/editor-setup.md#Helix
# nixd # lsp for nix # DEBUG
# Pretty necessary
git
git-filter-repo