mirror of
https://github.com/eRgo35/nix-config.git
synced 2026-02-04 08:36:11 +01:00
177 lines
4.0 KiB
Nix
177 lines
4.0 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
programs.helix = {
|
|
enable = true;
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
# languages Configuration
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
languages = {
|
|
language = [
|
|
|
|
{
|
|
name = "nix";
|
|
auto-format = true;
|
|
language-servers = [ "nixd" "nil" ];
|
|
formatter = {
|
|
command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt";
|
|
# command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
|
# command = "${pkgs.alejandra}/bin/alejandra";
|
|
};
|
|
}
|
|
|
|
{
|
|
name = "bash";
|
|
auto-format = true;
|
|
language-servers = [ "bash-language-server" ];
|
|
formatter = {
|
|
command = "${pkgs.shfmt}/bin/shfmt";
|
|
args = [ "-i" "2" "-ci" ];
|
|
};
|
|
}
|
|
|
|
{
|
|
name = "python";
|
|
auto-format = true;
|
|
language-servers = [ "pyright" ];
|
|
formatter = {
|
|
command = "${pkgs.black}/bin/black";
|
|
args = [ "--quiet" "-" ];
|
|
};
|
|
}
|
|
|
|
{
|
|
name = "rust";
|
|
auto-format = false;
|
|
file-types = [ "rs" ];
|
|
language-servers = [ "rust-analyzer" ];
|
|
formatter = { command = "${pkgs.rustfmt}/bin/rustfmt"; };
|
|
}
|
|
|
|
{
|
|
name = "zig";
|
|
auto-format = true;
|
|
language-servers = [ "zsl" ];
|
|
formatter = { command = "${pkgs.zig}/bin/zig"; };
|
|
}
|
|
|
|
{
|
|
name = "html";
|
|
auto-format = true;
|
|
language-servers = [ "vscode-langservers-extracted" ];
|
|
}
|
|
|
|
{
|
|
name = "javascript";
|
|
auto-format = true;
|
|
language-servers = [ "typescript-language-server" ];
|
|
}
|
|
];
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
# Language Server Protocol Configuration
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
language-servers = {
|
|
|
|
nil = { command = "${pkgs.nixd}/bin/nixd"; };
|
|
|
|
rust-analyzer = {
|
|
config = {
|
|
check = { command = "${pkgs.clippy}/bin/cargo-clippy"; };
|
|
# cargo.features = "all";
|
|
checkOnSave.command = "${pkgs.clippy}/bin/cargo-clippy";
|
|
completion.autoimport.enable = true;
|
|
};
|
|
};
|
|
|
|
typescript-language-server = {
|
|
command = "${pkgs.nodePackages_latest.typescript-language-server}/bin/typescript-language-server";
|
|
args = [ "--stdio" ];
|
|
};
|
|
};
|
|
};
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
# Needed Packages
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
extraPackages = with pkgs; [
|
|
# DEBUG
|
|
lldb_18
|
|
|
|
# lldb-vscode :
|
|
# c
|
|
# cpp
|
|
|
|
# = < NIX > =
|
|
# = Language Server Protocol =
|
|
nil
|
|
nixd
|
|
# = DAP =
|
|
|
|
# = Formatter =
|
|
# nixfmt
|
|
nixfmt-rfc-style
|
|
# alejandra
|
|
|
|
# = < Bash > =
|
|
# = Language Server Protocol =
|
|
nodePackages.bash-language-server
|
|
# = DAP =
|
|
# = Formatter =
|
|
shfmt
|
|
|
|
# = < Python > =
|
|
# = Language Server Protocol =
|
|
pyright
|
|
# = DAP =
|
|
# = Formatter =
|
|
black
|
|
|
|
# = < Rust > =
|
|
# = Language Server Protocol =
|
|
rust-analyzer
|
|
# = DAP =
|
|
lldb
|
|
# = Formatter =
|
|
# rust-fmt
|
|
clippy # Good place ?
|
|
|
|
# = < lua > =
|
|
# = Language Server Protocol =
|
|
lua-language-server
|
|
# = DAP =
|
|
# = Formatter =
|
|
|
|
# = < Zig > =
|
|
# = Language Server Protocol =
|
|
zls
|
|
# = DAP =
|
|
# lldb (commented because already called)
|
|
# = Formatter =
|
|
zig
|
|
|
|
# = < HTML > =
|
|
# = Language Server Protocol =
|
|
# vscode-html-language-server
|
|
vscode-langservers-extracted
|
|
# = DAP =
|
|
# = Formatter =
|
|
|
|
# = < CSS > =
|
|
# = Language Server Protocol =
|
|
nodePackages_latest.typescript-language-server
|
|
# = DAP =
|
|
# = Formatter =
|
|
|
|
# = Language Server Protocol =
|
|
docker-compose-language-service
|
|
dockerfile-language-server-nodejs
|
|
yaml-language-server
|
|
ansible-language-server
|
|
];
|
|
};
|
|
}
|