languages: add and move to mkServersOption

This commit is contained in:
poz 2025-07-21 10:53:09 +02:00
commit d47a771d19
No known key found for this signature in database
35 changed files with 89 additions and 224 deletions

View file

@ -9,6 +9,6 @@
in { in {
inherit (typesDag) dagOf; inherit (typesDag) dagOf;
inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType; inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType;
inherit (typesLanguage) diagnostics mkGrammarOption; inherit (typesLanguage) diagnostics mkGrammarOption mkServersOption;
inherit (customTypes) char hexColor mergelessListOf; inherit (customTypes) char hexColor mergelessListOf;
} }

View file

@ -32,6 +32,13 @@
mkPackageOption pkgs ["${grammar} treesitter"] { mkPackageOption pkgs ["${grammar} treesitter"] {
default = ["vimPlugins" "nvim-treesitter" "builtGrammars" grammar]; default = ["vimPlugins" "nvim-treesitter" "builtGrammars" grammar];
}; };
mkServersOption = language: servers: defaultServers:
mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "${language} LSP servers to use";
};
in { in {
inherit diagnostics diagnosticSubmodule mkGrammarOption; inherit diagnostics diagnosticSubmodule mkGrammarOption mkServersOption;
} }

View file

@ -8,7 +8,7 @@
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) package enum listOf; inherit (lib.types) package enum listOf;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -33,11 +33,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Assembly LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Assembly LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Assembly" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Assembly LSP servers to use";
};
}; };
}; };
config = mkIf cfg.enable (mkMerge [ config = mkIf cfg.enable (mkMerge [

View file

@ -12,7 +12,7 @@
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
cfg = config.vim.languages.astro; cfg = config.vim.languages.astro;
@ -90,11 +90,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Astro LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Astro LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Astro" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Astro LSP servers to use";
};
}; };
format = { format = {

View file

@ -11,7 +11,7 @@
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.types) enum either package listOf str bool; inherit (lib.types) enum either package listOf str bool;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.types) diagnostics mkGrammarOption; inherit (lib.nvim.types) diagnostics mkGrammarOption mkServersOption;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -56,11 +56,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Bash LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Bash LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Bash" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Bash LSP servers to use";
};
}; };
format = { format = {

View file

@ -10,7 +10,7 @@
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -36,11 +36,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Clojure LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Clojure LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Clojure" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Clojure LSP servers to use";
};
}; };
}; };

View file

@ -13,7 +13,7 @@
inherit (lib.types) enum either listOf package nullOr str bool; inherit (lib.types) enum either listOf package nullOr str bool;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.dag) entryAfter; inherit (lib.nvim.dag) entryAfter;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -53,11 +53,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Dart LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Dart LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Dart" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Dart LSP servers to use";
};
}; };
dap = { dap = {

View file

@ -11,7 +11,7 @@
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -62,11 +62,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Elixir LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Elixir LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Elixir" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Elixir LSP servers to use";
};
}; };
format = { format = {

View file

@ -11,7 +11,7 @@
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.gleam; cfg = config.vim.languages.gleam;
@ -36,11 +36,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Gleam LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Gleam LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Gleam" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Gleam LSP servers to use";
};
}; };
}; };

View file

@ -9,7 +9,7 @@
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.dag) entryAfter entryBefore; inherit (lib.nvim.dag) entryAfter entryBefore;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.meta) getExe'; inherit (lib.meta) getExe';
@ -76,11 +76,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Haskell LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Haskell LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Haskell" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Haskell LSP servers to use";
};
}; };
dap = { dap = {

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) package bool enum listOf; inherit (lib.types) package bool enum listOf;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.hcl; cfg = config.vim.languages.hcl;
@ -41,11 +41,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "HCL LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "HCL LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "HCL" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "HCL LSP servers to use";
};
}; };
format = { format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.helm; cfg = config.vim.languages.helm;
@ -48,11 +48,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Helm LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Helm LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Helm" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Helm LSP servers to use";
};
}; };
}; };

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.types) listOf enum; inherit (lib.types) listOf enum;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.dag) entryBefore; inherit (lib.nvim.dag) entryBefore;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
@ -71,11 +71,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Java LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Java LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Java" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Java LSP servers to use";
};
}; };
}; };

View file

@ -9,7 +9,7 @@
inherit (lib.types) listOf enum; inherit (lib.types) listOf enum;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.dag) entryBefore; inherit (lib.nvim.dag) entryBefore;
@ -96,9 +96,9 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Java LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Java LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers =
type = listOf (enum (attrNames servers)); mkServersOption "Julia" servers defaultServers
default = defaultServers; // {
description = '' description = ''
Julia LSP servers to use Julia LSP servers to use

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe' getExe; inherit (lib.meta) getExe' getExe;
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -62,11 +62,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Kotlin LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Kotlin LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Kotlin" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Kotlin LSP servers to use";
};
}; };
extraDiagnostics = { extraDiagnostics = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) bool enum listOf package; inherit (lib.types) bool enum listOf package;
inherit (lib.nvim.types) diagnostics mkGrammarOption; inherit (lib.nvim.types) diagnostics mkGrammarOption mkServersOption;
inherit (lib.nvim.dag) entryBefore; inherit (lib.nvim.dag) entryBefore;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -63,11 +63,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Lua LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Lua LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Lua" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Lua LSP servers to use";
};
lazydev.enable = mkEnableOption "lazydev.nvim integration, useful for neovim plugin developers"; lazydev.enable = mkEnableOption "lazydev.nvim integration, useful for neovim plugin developers";
}; };

View file

@ -10,7 +10,7 @@
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) bool enum package listOf str nullOr; inherit (lib.types) bool enum package listOf str nullOr;
inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.lua) toLuaObject;
inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption mkServersOption;
inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -60,12 +60,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Markdown LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Markdown LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Markdown" servers defaultServers;
servers = mkOption {
description = "Markdown LSP servers to use";
type = listOf (enum (attrNames servers));
default = defaultServers;
};
}; };
format = { format = {

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe'; inherit (lib.meta) getExe';
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum listOf package; inherit (lib.types) enum listOf package;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -57,12 +57,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Nim LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Nim LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Nim" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Nim LSP servers to use";
};
}; };
format = { format = {

View file

@ -10,7 +10,7 @@
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum package listOf; inherit (lib.types) enum package listOf;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.nix; cfg = config.vim.languages.nix;
@ -97,11 +97,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Nix LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Nix LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Nix" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Nix LSP servers to use";
};
}; };
format = { format = {

View file

@ -7,7 +7,7 @@
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -44,12 +44,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Nu LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Nu LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Nu" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Nu LSP servers to use";
};
}; };
}; };

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf package; inherit (lib.types) enum listOf package;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -72,12 +72,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "OCaml LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "OCaml LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "OCaml" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "OCaml LSP servers to use";
};
}; };
format = { format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) listOf enum; inherit (lib.types) listOf enum;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -44,12 +44,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Odin LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Odin LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Odin" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Odin LSP servers to use";
};
}; };
}; };

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
@ -75,12 +75,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "PHP LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "PHP LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "PHP" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "PHP LSP servers to use";
};
}; };
}; };

View file

@ -12,6 +12,7 @@
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.dag) entryBefore; inherit (lib.nvim.dag) entryBefore;
inherit (lib.nvim.types) mkServersOption;
cfg = config.vim.languages.python; cfg = config.vim.languages.python;
@ -227,12 +228,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Python LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Python LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Python" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Python LSP servers to use";
};
}; };
format = { format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum listOf package; inherit (lib.types) enum listOf package;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
@ -75,12 +75,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "R LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "R LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "R" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "R LSP servers to use";
};
}; };
format = { format = {

View file

@ -8,7 +8,7 @@
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.types) listOf package enum; inherit (lib.types) listOf package enum;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -75,12 +75,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Ruby LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Ruby LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Ruby" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Ruby LSP servers to use";
};
}; };
format = { format = {

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum listOf package str; inherit (lib.types) enum listOf package str;
inherit (lib.nvim.types) diagnostics; inherit (lib.nvim.types) diagnostics mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
@ -76,12 +76,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "SQL LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "SQL LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "SQL" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "SQL LSP servers to use";
};
}; };
format = { format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf package; inherit (lib.types) enum listOf package;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
@ -88,12 +88,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Svelte LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Svelte LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Svelte" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Svelte LSP servers to use";
};
}; };
format = { format = {

View file

@ -11,6 +11,7 @@
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.types) mkServersOption;
cfg = config.vim.languages.tailwind; cfg = config.vim.languages.tailwind;
@ -152,12 +153,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Tailwindcss LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Tailwindcss LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Tailwindcss" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Tailwindcss LSP servers to use";
};
}; };
}; };

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.terraform; cfg = config.vim.languages.terraform;
@ -34,12 +34,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Terraform LSP support (terraform-ls)" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Terraform LSP support (terraform-ls)" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Terraform" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Terraform LSP servers to use";
};
}; };
}; };
config = mkIf cfg.enable (mkMerge [ config = mkIf cfg.enable (mkMerge [

View file

@ -9,7 +9,7 @@
inherit (lib.types) nullOr enum attrsOf listOf package str; inherit (lib.types) nullOr enum attrsOf listOf package str;
inherit (lib.attrsets) attrNames; inherit (lib.attrsets) attrNames;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption mkServersOption;
inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.lua) toLuaObject;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -112,12 +112,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Typst LSP support (typst-lsp)" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Typst LSP support (typst-lsp)" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Typst" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Typst LSP servers to use";
};
}; };
format = { format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
@ -72,11 +72,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Vala LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Vala LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Vala" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Vala LSP servers to use";
};
}; };
}; };

View file

@ -6,7 +6,7 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
@ -35,12 +35,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "WGSL LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "WGSL LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "WGSL" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "WGSL LSP servers to use";
};
}; };
}; };

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.yaml; cfg = config.vim.languages.yaml;
@ -55,11 +55,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Yaml LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Yaml LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption { servers = mkServersOption "Yaml" servers defaultServers;
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Yaml LSP servers to use";
};
}; };
}; };

View file

@ -8,7 +8,7 @@
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge mkDefault; inherit (lib.modules) mkIf mkMerge mkDefault;
inherit (lib.types) bool listOf package enum; inherit (lib.types) bool listOf package enum;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -65,12 +65,7 @@ in {
lsp = { lsp = {
enable = mkEnableOption "Zig LSP support" // {default = config.vim.lsp.enable;}; enable = mkEnableOption "Zig LSP support" // {default = config.vim.lsp.enable;};
servers = mkServersOption "Zig" servers defaultServers;
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Zig LSP servers to use";
};
}; };
dap = { dap = {