helix module remove redudancy
This commit is contained in:
parent
51a67d039f
commit
ba1a3fe07e
3 changed files with 74 additions and 66 deletions
|
|
@ -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}");
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue