succesfulll nix lsp

This commit is contained in:
Aria Nolan 2023-10-09 23:55:56 -04:00
parent b78ad12e00
commit dce35118a8
5 changed files with 122 additions and 65 deletions

View file

@ -28,6 +28,7 @@
./home.nix
./shell
./programs
./helix
];
# Optionally use extraSpecialArgs

85
helix/default.nix Normal file
View file

@ -0,0 +1,85 @@
{ config, pkgs, inputs, ... }:
{
imports = [
./languages.nix
];
programs.helix = {
enable = true;
# package = inputs.helix.packages."x86_64-linux".default;
package = inputs.helix.packages.${pkgs.system}.default.overrideAttrs (self: {
makeWrapperArgs = with pkgs;
self.makeWrapperArgs
or []
++ [
"--suffix"
"PATH"
":"
(lib.makeBinPath [
clang-tools
marksman
nil
nodePackages.bash-language-server
nodePackages.vscode-css-languageserver-bin
nodePackages.vscode-langservers-extracted
shellcheck
])
];
});
settings = {
theme = "rose_pine_moon";
editor = {
line-number = "relative";
lsp.display-messages = true;
scrolloff = 5;
middle-click-paste = false;
cursorline = true;
auto-format = false;
idle-timeout = 400;
color-modes = true;
soft-wrap.enable = true;
whitespace = {
render = {
space = "none";
tab = "none";
newline = "none";
};
};
indent-guides = {
render = true;
character = "";
};
};
};
# languages = {
# language = [{
# name = "nix";
# scope = "flake.nix";
# roots = [ "flake.nix" "flake.lock" ];
# injection-regex = "nix";
# auto-format = false;
# file-types = [ "nix" ];
# comment-token = "#";
# indent = {
# tab-width = 2;
# unit = " ";
# };
# language-servers = [ "${pkgs.nil}" ];
# formatter = {
# command = "${pkgs.nixpkgs-fmt}";
# };
# }];
# grammar = [{
# name = "nix";
# source = {
# git = "https://github.com/nix-community/tree-sitter-nix";
# rev = "66e3e9ce9180ae08fc57372061006ef83f0abde7";
# };
# }];
# };
};
}

31
helix/languages.nix Normal file
View file

@ -0,0 +1,31 @@
{ pkgs, lib, ... }:
{
programs.helix.languages = {
language-server = {
bash-language-server = {
command = "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server";
args = ["start"];
};
clangd = {
command = "${pkgs.clang-tools}/bin/clangd";
clangd.fallbackFlags = ["-std=c++2b"];
};
nil = {
command = lib.getExe pkgs.nil;
config.nil.formatting.command = ["${lib.getExe pkgs.alejandra}" "-q"];
};
vscode-css-language-server = {
command = "${pkgs.nodePackages.vscode-css-languageserver-bin}/bin/css-languageserver";
args = ["--stdio"];
config = {
provideFormatter = true;
css.validate.enable = true;
};
};
};
};
}

View file

@ -1,6 +1,5 @@
{
imports = [
./kitty.nix
./helix.nix
];
}

View file

@ -1,59 +0,0 @@
{ config, pkgs, inputs, ... }:
{
programs.helix = {
enable = true;
package = inputs.helix.packages."x86_64-linux".default;
settings = {
theme = "rose_pine_moon";
editor = {
line-number = "relative";
lsp.display-messages = true;
scrolloff = 5;
middle-click-paste = false;
cursorline = true;
auto-format = false;
idle-timeout = 400;
color-modes = true;
soft-wrap.enable = true;
whitespace = {
render = {
space = "none";
tab = "none";
newline = "none";
};
};
indent-guides = {
render = true;
character = "";
};
};
};
languages = {
language = [{
name = "nix";
scope = "flake.nix";
roots = [ "flake.nix" "flake.lock" ];
injection-regex = "nix";
auto-format = false;
file-types = [ "nix" ];
comment-token = "#";
indent = {
tab-width = 2;
unit = " ";
};
language-servers = [ "${pkgs.nil}" ];
formatter = {
command = "${pkgs.nixpkgs-fmt}";
};
}];
# grammar = [{
# name = "nix";
# source = {
# git = "https://github.com/nix-community/tree-sitter-nix";
# rev = "66e3e9ce9180ae08fc57372061006ef83f0abde7";
# };
# }];
};
};
}