diff options
Diffstat (limited to '')
| -rw-r--r-- | flake.nix | 15 | ||||
| -rw-r--r-- | lsp/nixd.lua | 21 | ||||
| -rw-r--r-- | lua/config/lsp.lua | 1 | 
3 files changed, 27 insertions, 10 deletions
| @@ -103,6 +103,7 @@        lspsAndRuntimeDeps = {          general = with pkgs; {            lua = [ lua-language-server ]; +          nix = [ nix-doc nixd ];          };        }; @@ -210,6 +211,7 @@            aliases = [ "vim" ];            neovim-unwrapped = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim;          }; +          # and a set of categories that you want          # (and other information to pass to lua)          categories = { @@ -219,17 +221,10 @@            general = true;            gitPlugins = true;            customPlugins = true; +        }; -          test = true; -          example = { -            youCan = "add more than just booleans"; -            toThisSet = [ -              "and the contents of this categories set" -              "will be accessible to your lua with" -              "nixCats('path.to.value')" -              "see :help nixCats" -            ]; -          }; +        extra = { +          nixdExtras = { inherit nixpkgs; };          };        };      }; diff --git a/lsp/nixd.lua b/lsp/nixd.lua new file mode 100644 index 0000000..3e899c3 --- /dev/null +++ b/lsp/nixd.lua @@ -0,0 +1,21 @@ +return { +  cmd = { "nixd" }, +  filetypes = { "nix" }, + +  settings = { +    nixd = { +      nixpkgs = { +        expr = [[import (builtins.getFlake "]] .. nixCats.extra("nixdExtras.nixpkgs") .. [[") { }   ]], +      }, + +      formatting = { +        command = { "nixfmt" }, +      }, + +      options = { +        nixos = { expr = nixCats.extra("nixdExtras.nixos_options") }, +        ["home-manager"] = { expr = nixCats.extra("nixdExtras.home_manager_options") }, +      }, +    }, +  }, +} diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua index c8444ef..37e3b6f 100644 --- a/lua/config/lsp.lua +++ b/lua/config/lsp.lua @@ -1 +1,2 @@  vim.lsp.enable("lua-language-server") +vim.lsp.enable("nixd") | 
