From 95df12c59e329a79381a184116870c5e5629b72d Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Wed, 12 Jul 2023 22:32:03 +0800 Subject: [PATCH] fix: astronvim - dependencies for languages support --- .../desktop/neovim/astronvim_user_init.lua | 23 +--- home/base/desktop/neovim/default.nix | 102 ++++++++++++------ 2 files changed, 71 insertions(+), 54 deletions(-) diff --git a/home/base/desktop/neovim/astronvim_user_init.lua b/home/base/desktop/neovim/astronvim_user_init.lua index e233d2eb..23f6a6f8 100644 --- a/home/base/desktop/neovim/astronvim_user_init.lua +++ b/home/base/desktop/neovim/astronvim_user_init.lua @@ -3,10 +3,9 @@ return { options = { opt = { - cmdheight = 0, -- Do not display cmd line(use noice.nvim instead) relativenumber = true, -- Show relative numberline signcolumn = "auto", -- Show sign column when used only - spell = true, -- Enable spell checking + spell = false, -- Enable spell checking }, }, @@ -48,6 +47,7 @@ return { ---- Operation & Cloud Native { import = "astrocommunity.pack.bash" }, { import = "astrocommunity.pack.cmake" }, + { import = "astrocommunity.pack.cpp" }, { import = "astrocommunity.pack.docker" }, { import = "astrocommunity.pack.lua" }, @@ -72,6 +72,7 @@ return { "lua", -- operation & cloud native + "dockerfile", "hcl", "jsonnet", "regex", @@ -83,7 +84,7 @@ return { lsp = { config = { - -- the offset_encondings of clangd will confilicts whit null-ls + -- the offset_enconding of clangd will confilicts whit null-ls -- so we need to manually set it to utf-8 clangd = { capabilities = { @@ -92,25 +93,9 @@ return { }, }, servers = { - "bashls", - "clangd", -- c/c++ language server - "cmake", - "cssls", "dockerls", - "eslint", - "gopls", - "html", - "jdtls", -- java language server - "jsonls", -- json language server "jsonnet_ls", -- jsonnet language server - "lua_ls", - "pyright", -- python language server - "nil_ls", -- nix language server - "rust_analyzer", - "sqlls", -- sql language server "terraformls", - "tsserver", - "yamlls", }, formatting = { disabled = { diff --git a/home/base/desktop/neovim/default.nix b/home/base/desktop/neovim/default.nix index abfc5754..a99f7294 100644 --- a/home/base/desktop/neovim/default.nix +++ b/home/base/desktop/neovim/default.nix @@ -41,50 +41,82 @@ extraPackages = []; # currently we use lazy.nvim as neovim's package manager, so comment this one. - # plugins = with pkgs.vimPlugins;[ + plugins = with pkgs.vimPlugins;[ # search all the plugins using https://search.nixos.org/packages - # ]; + luasnip + + ]; }; }; home = { packages = with pkgs; [ - # -- Compiler -- # + #-- c/c++ + cmake + gnumake gcc # c/c++ compiler, required by nvim-treesitter! llvmPackages.clang-unwrapped # c/c++ tools with clang-tools such as clangd - zig - go - luajit - - #-- LSP --# - nodePackages_latest.typescript - nodePackages_latest.typescript-language-server - nodePackages_latest.vscode-langservers-extracted - nodePackages_latest.bash-language-server - - nil - # rnix-lsp - # nixd - - lua-language-server - gopls - pyright - rust-analyzer - cargo # rust package manager - - #-- tree-sitter --# - tree-sitter - - #-- format --# - stylua - black - nixpkgs-fmt - rustfmt - beautysh - nodePackages.prettier - - #-- Debug --# gdb lldb + + #-- python + nodePackages.pyright # python language server + python311Packages.black # python formatter + python311Packages.ruff-lsp + + #-- rust + rust-analyzer + cargo # rust package manager + rustfmt + + #-- nix + nil + rnix-lsp + # nixd + statix # Lints and suggestions for the nix programming language + deadnix # Find and remove unused code in .nix source files + alejandra # Nix Code Formatter + # nixpkgs-fmt + + #-- golang + go + iferr # generate error handling code for go + impl # generate function implementation for go + gotools # contains tools like: godoc, goimports, etc. + gopls # go language server + delve # go debugger + + #-- lua + luajit + stylua + luajitPackages.luarocks + luajitPackages.luacheck + lua-language-server + + #-- bash + nodePackages.bash-language-server + shellcheck + shfmt + + #-- javascript/typescript --# + nodePackages.typescript + nodePackages.typescript-language-server + # HTML/CSS/JSON/ESLint language servers extracted from vscode + nodePackages.vscode-langservers-extracted + + #-- cloudnative + nodePackages.dockerfile-language-server-nodejs + terraform + terraform-ls + jsonnet + jsonnet-language-server + + #-- others + taplo # TOML language server / formatter / validator + nodePackages.yaml-language-server + + # common + tree-sitter # common language parser/highlighter + nodePackages.prettier # common code formatter ]; };