mirror of
https://github.com/eRgo35/nix-config.git
synced 2026-02-04 11:06:11 +01:00
176
home/programs/helix.nix
Normal file
176
home/programs/helix.nix
Normal file
@@ -0,0 +1,176 @@
|
||||
{ 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
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user