docs: fix mkEnableOption usage for autogenerated documentation

This commit is contained in:
NotAShelf 2023-06-05 23:10:25 +03:00
parent 5cef662ccf
commit a2b58e17af
No known key found for this signature in database
GPG key ID: F0D14CCB5ED5AA22
55 changed files with 225 additions and 333 deletions

View file

@ -9,7 +9,7 @@ with builtins; let
cfg = config.vim.assistant.copilot; cfg = config.vim.assistant.copilot;
in { in {
options.vim.assistant.copilot = { options.vim.assistant.copilot = {
enable = mkEnableOption "Enable GitHub Copilot"; enable = mkEnableOption "GitHub Copilot AI assistant";
panel = { panel = {
position = mkOption { position = mkOption {

View file

@ -2,7 +2,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.assistant.tabnine = { options.vim.assistant.tabnine = {
enable = mkEnableOption "Enable TabNine assistant"; enable = mkEnableOption "Tabnine assistant";
disable_auto_comment = mkOption { disable_auto_comment = mkOption {
type = types.bool; type = types.bool;

View file

@ -1,17 +1,9 @@
{ {lib, ...}:
lib,
config,
...
}:
with lib; with lib;
with builtins; { with builtins; {
options.vim = { options.vim = {
autopairs = { autopairs = {
enable = mkOption { enable = mkEnableOption "autopairs" // {default = false;};
type = types.bool;
default = false;
description = "Enable autopairs";
};
type = mkOption { type = mkOption {
type = types.enum ["nvim-autopairs"]; type = types.enum ["nvim-autopairs"];

View file

@ -7,7 +7,7 @@ with lib;
with builtins; { with builtins; {
options.vim = { options.vim = {
debugMode = { debugMode = {
enable = mkEnableOption "Enable debug mode"; enable = mkEnableOption "debug mode";
level = mkOption { level = mkOption {
type = types.int; type = types.int;
default = 20; default = 20;
@ -151,6 +151,6 @@ with builtins; {
description = "Highlight the text line of the cursor with CursorLine hl-CursorLine"; description = "Highlight the text line of the cursor with CursorLine hl-CursorLine";
}; };
enableLuaLoader = mkEnableOption "Enable the experimental Lua module loader to speed up the start up process"; enableLuaLoader = mkEnableOption "experimental Lua module loader to speed up the start up process";
}; };
} }

View file

@ -2,7 +2,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.comments.comment-nvim = { options.vim.comments.comment-nvim = {
enable = mkEnableOption "Enable comment-nvim"; enable = mkEnableOption "smart and powerful comment plugin for neovim comment-nvim";
mappings = { mappings = {
toggleCurrentLine = mkMappingOption "Toggle current line comment" "gcc"; toggleCurrentLine = mkMappingOption "Toggle current line comment" "gcc";

View file

@ -3,11 +3,7 @@ with lib;
with builtins; { with builtins; {
options.vim = { options.vim = {
autocomplete = { autocomplete = {
enable = mkOption { enable = mkEnableOption "enable autocomplete" // {default = false;};
type = types.bool;
default = false;
description = "enable autocomplete";
};
mappings = { mappings = {
complete = mkMappingOption "Complete [nvim-cmp]" "<C-Space>"; complete = mkMappingOption "Complete [nvim-cmp]" "<C-Space>";

View file

@ -6,6 +6,6 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.dashboard.alpha = { options.vim.dashboard.alpha = {
enable = mkEnableOption "Enable alpha.nvim"; enable = mkEnableOption "dashboard via alpha.nvim";
}; };
} }

View file

@ -6,6 +6,6 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.dashboard.dashboard-nvim = { options.vim.dashboard.dashboard-nvim = {
enable = mkEnableOption "Enable dashboard.nvim"; enable = mkEnableOption "dashboard via dashboard.nvim";
}; };
} }

View file

@ -6,7 +6,7 @@
with builtins; with builtins;
with lib; { with lib; {
options.vim.dashboard.startify = { options.vim.dashboard.startify = {
enable = mkEnableOption "Enable vim-startify"; enable = mkEnableOption "dashboard via vim-startify";
bookmarks = mkOption { bookmarks = mkOption {
default = []; default = [];

View file

@ -6,11 +6,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.filetree.nvimTreeLua = { options.vim.filetree.nvimTreeLua = {
enable = mkOption { enable = mkEnableOption "filetree via nvim-tree-lua" // {default = false;};
type = types.bool;
default = false;
description = "Enable nvim-tree-lua";
};
mappings = { mappings = {
toggle = mkOption { toggle = mkOption {

View file

@ -2,7 +2,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.git = { options.vim.git = {
enable = mkEnableOption "Git support"; enable = mkEnableOption "git tools via gitsigns";
gitsigns = { gitsigns = {
enable = mkEnableOption "gitsigns"; enable = mkEnableOption "gitsigns";

View file

@ -47,31 +47,26 @@ in {
}; };
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "C/C++ treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable C/C++ treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
cPackage = nvim.types.mkGrammarOption pkgs "c"; cPackage = nvim.types.mkGrammarOption pkgs "c";
cppPackage = nvim.types.mkGrammarOption pkgs "cpp"; cppPackage = nvim.types.mkGrammarOption pkgs "cpp";
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Enable clang LSP support" // {default = config.vim.languages.enableLSP;};
description = "Enable clang LSP support";
type = types.bool;
default = config.vim.languages.enableLSP;
};
server = mkOption { server = mkOption {
description = "The clang LSP server to use"; description = "The clang LSP server to use";
type = with types; enum (attrNames servers); type = with types; enum (attrNames servers);
default = defaultServer; default = defaultServer;
}; };
package = mkOption { package = mkOption {
description = "clang LSP server package"; description = "clang LSP server package";
type = types.package; type = types.package;
default = servers.${cfg.lsp.server}.package; default = servers.${cfg.lsp.server}.package;
}; };
opts = mkOption { opts = mkOption {
description = "Options to pass to clang LSP server"; description = "Options to pass to clang LSP server";
type = with types; nullOr str; type = with types; nullOr str;

View file

@ -26,16 +26,12 @@ in {
enable = mkEnableOption "Dart language support"; enable = mkEnableOption "Dart language support";
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "Enable Dart treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable Dart treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
package = nvim.types.mkGrammarOption pkgs "dart"; package = nvim.types.mkGrammarOption pkgs "dart";
}; };
lsp = { lsp = {
enable = mkEnableOption "Enable Dart LSP support"; enable = mkEnableOption "Dart LSP support";
server = mkOption { server = mkOption {
description = "The Dart LSP server to use"; description = "The Dart LSP server to use";
type = with types; enum (attrNames servers); type = with types; enum (attrNames servers);

View file

@ -6,6 +6,6 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.languages.elixir = { options.vim.languages.elixir = {
enable = mkEnableOption "elixir support"; enable = mkEnableOption "Elixir language support";
}; };
} }

View file

@ -26,25 +26,20 @@ in {
enable = mkEnableOption "Go language support"; enable = mkEnableOption "Go language support";
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "Enable Go treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable Go treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
package = nvim.types.mkGrammarOption pkgs "go"; package = nvim.types.mkGrammarOption pkgs "go";
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Enable Go LSP support" // {default = config.vim.languages.enableLSP;};
description = "Enable Go LSP support";
type = types.bool;
default = config.vim.languages.enableLSP;
};
server = mkOption { server = mkOption {
description = "Go LSP server to use"; description = "Go LSP server to use";
type = with types; enum (attrNames servers); type = with types; enum (attrNames servers);
default = defaultServer; default = defaultServer;
}; };
package = mkOption { package = mkOption {
description = "Go LSP server package"; description = "Go LSP server package";
type = types.package; type = types.package;

View file

@ -9,7 +9,7 @@ with builtins; let
cfg = config.vim.languages.markdown; cfg = config.vim.languages.markdown;
in { in {
options.vim.languages.markdown = { options.vim.languages.markdown = {
enable = mkEnableOption "Markdown language support"; enable = mkEnableOption "Markdown markup language support";
glow.enable = mkOption { glow.enable = mkOption {
type = types.bool; type = types.bool;

View file

@ -96,11 +96,8 @@ in {
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Enable Nix LSP support" // {default = config.vim.languages.enableLSP;};
description = "Enable Nix LSP support";
type = types.bool;
default = config.vim.languages.enableLSP;
};
server = mkOption { server = mkOption {
description = "Nix LSP server to use"; description = "Nix LSP server to use";
type = types.str; type = types.str;
@ -114,11 +111,8 @@ in {
}; };
format = { format = {
enable = mkOption { enable = mkEnableOption "Enable Nix formatting" // {default = config.vim.languages.enableFormat;};
description = "Enable Nix formatting";
type = types.bool;
default = config.vim.languages.enableFormat;
};
type = mkOption { type = mkOption {
description = "Nix formatter to use"; description = "Nix formatter to use";
type = with types; enum (attrNames formats); type = with types; enum (attrNames formats);

View file

@ -41,11 +41,7 @@ in {
enable = mkEnableOption "Python language support"; enable = mkEnableOption "Python language support";
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "Enable Python treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable Python treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
package = mkOption { package = mkOption {
description = "Python treesitter grammar to use"; description = "Python treesitter grammar to use";
type = types.package; type = types.package;
@ -54,16 +50,14 @@ in {
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Enable Python LSP support" // {default = config.vim.languages.enableLSP;};
description = "Enable Python LSP support";
type = types.bool;
default = config.vim.languages.enableLSP;
};
server = mkOption { server = mkOption {
description = "Python LSP server to use"; description = "Python LSP server to use";
type = with types; enum (attrNames servers); type = with types; enum (attrNames servers);
default = defaultServer; default = defaultServer;
}; };
package = mkOption { package = mkOption {
description = "python LSP server package"; description = "python LSP server package";
type = types.package; type = types.package;
@ -72,16 +66,14 @@ in {
}; };
format = { format = {
enable = mkOption { enable = mkEnableOption "Enable Python formatting" // {default = config.vim.languages.enableFormat;};
description = "Enable Python formatting";
type = types.bool;
default = config.vim.languages.enableFormat;
};
type = mkOption { type = mkOption {
description = "Python formatter to use"; description = "Python formatter to use";
type = with types; enum (attrNames formats); type = with types; enum (attrNames formats);
default = defaultFormat; default = defaultFormat;
}; };
package = mkOption { package = mkOption {
description = "Python formatter package"; description = "Python formatter package";
type = types.package; type = types.package;

View file

@ -12,11 +12,7 @@ in {
enable = mkEnableOption "Rust language support"; enable = mkEnableOption "Rust language support";
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "Enable Rust treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable Rust treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
package = nvim.types.mkGrammarOption pkgs "rust"; package = nvim.types.mkGrammarOption pkgs "rust";
}; };
@ -30,16 +26,14 @@ in {
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Rust LSP support (rust-analyzer with extra tools)" // {default = config.vim.languages.enableLSP;};
description = "Rust LSP support (rust-analyzer with extra tools)";
type = types.bool;
default = config.vim.languages.enableLSP;
};
package = mkOption { package = mkOption {
description = "rust-analyzer package"; description = "rust-analyzer package";
type = types.package; type = types.package;
default = pkgs.rust-analyzer; default = pkgs.rust-analyzer;
}; };
opts = mkOption { opts = mkOption {
description = "Options to pass to rust analyzer"; description = "Options to pass to rust analyzer";
type = types.str; type = types.str;

View file

@ -68,11 +68,8 @@ in {
}; };
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "Enable SQL treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable SQL treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
package = mkOption { package = mkOption {
description = "SQL treesitter grammar to use"; description = "SQL treesitter grammar to use";
type = types.package; type = types.package;
@ -81,16 +78,14 @@ in {
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Enable SQL LSP support" // {default = config.vim.languages.enableLSP;};
description = "Enable SQL LSP support";
type = types.bool;
default = config.vim.languages.enableLSP;
};
server = mkOption { server = mkOption {
description = "SQL LSP server to use"; description = "SQL LSP server to use";
type = with types; enum (attrNames servers); type = with types; enum (attrNames servers);
default = defaultServer; default = defaultServer;
}; };
package = mkOption { package = mkOption {
description = "SQL LSP server package"; description = "SQL LSP server package";
type = types.package; type = types.package;
@ -99,16 +94,14 @@ in {
}; };
format = { format = {
enable = mkOption { enable = mkEnableOption "Enable SQL formatting" // {default = config.vim.languages.enableFormat;};
description = "Enable SQL formatting";
type = types.bool;
default = config.vim.languages.enableFormat;
};
type = mkOption { type = mkOption {
description = "SQL formatter to use"; description = "SQL formatter to use";
type = with types; enum (attrNames formats); type = with types; enum (attrNames formats);
default = defaultFormat; default = defaultFormat;
}; };
package = mkOption { package = mkOption {
description = "SQL formatter package"; description = "SQL formatter package";
type = types.package; type = types.package;
@ -117,11 +110,8 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkOption { enable = mkEnableOption "Enable extra SQL diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;};
description = "Enable extra SQL diagnostics";
type = types.bool;
default = config.vim.languages.enableExtraDiagnostics;
};
types = lib.nvim.types.diagnostics { types = lib.nvim.types.diagnostics {
langDesc = "SQL"; langDesc = "SQL";
inherit diagnostics; inherit diagnostics;

View file

@ -58,25 +58,20 @@ in {
enable = mkEnableOption "Svelte language support"; enable = mkEnableOption "Svelte language support";
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "Enable Svelte treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable Svelte treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
sveltePackage = nvim.types.mkGrammarOption pkgs "svelte"; sveltePackage = nvim.types.mkGrammarOption pkgs "svelte";
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Enable Svelte LSP support" // {default = config.vim.languages.enableLSP;};
description = "Enable Svelte LSP support";
type = types.bool;
default = config.vim.languages.enableLSP;
};
server = mkOption { server = mkOption {
description = "Svelte LSP server to use"; description = "Svelte LSP server to use";
type = with types; enum (attrNames servers); type = with types; enum (attrNames servers);
default = defaultServer; default = defaultServer;
}; };
package = mkOption { package = mkOption {
description = "Svelte LSP server package"; description = "Svelte LSP server package";
type = types.package; type = types.package;
@ -85,16 +80,14 @@ in {
}; };
format = { format = {
enable = mkOption { enable = mkEnableOption "Enable Svelte formatting" // {default = config.vim.languages.enableFormat;};
description = "Enable Svelte formatting";
type = types.bool;
default = config.vim.languages.enableFormat;
};
type = mkOption { type = mkOption {
description = "Svelte formatter to use"; description = "Svelte formatter to use";
type = with types; enum (attrNames formats); type = with types; enum (attrNames formats);
default = defaultFormat; default = defaultFormat;
}; };
package = mkOption { package = mkOption {
description = "Svelte formatter package"; description = "Svelte formatter package";
type = types.package; type = types.package;
@ -103,11 +96,8 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkOption { enable = mkEnableOption "Enable extra Svelte diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;};
description = "Enable extra Svelte diagnostics";
type = types.bool;
default = config.vim.languages.enableExtraDiagnostics;
};
types = lib.nvim.types.diagnostics { types = lib.nvim.types.diagnostics {
langDesc = "Svelte"; langDesc = "Svelte";
inherit diagnostics; inherit diagnostics;

View file

@ -6,7 +6,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.tidal = { options.vim.tidal = {
enable = mkEnableOption "Enable tidalcycles tools and plugins"; enable = mkEnableOption "tidalcycles tools and plugins";
flash = mkOption { flash = mkOption {
description = ''When sending a paragraph or a single line, vim-tidal will "flash" the selection for some milliseconds''; description = ''When sending a paragraph or a single line, vim-tidal will "flash" the selection for some milliseconds'';

View file

@ -58,26 +58,20 @@ in {
enable = mkEnableOption "Typescript/Javascript language support"; enable = mkEnableOption "Typescript/Javascript language support";
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "Enable Typescript/Javascript treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable Typescript/Javascript treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
tsPackage = nvim.types.mkGrammarOption pkgs "tsx"; tsPackage = nvim.types.mkGrammarOption pkgs "tsx";
jsPackage = nvim.types.mkGrammarOption pkgs "javascript"; jsPackage = nvim.types.mkGrammarOption pkgs "javascript";
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Enable Typescript/Javascript LSP support" // {default = config.vim.languages.enableLSP;};
description = "Enable Typescript/Javascript LSP support";
type = types.bool;
default = config.vim.languages.enableLSP;
};
server = mkOption { server = mkOption {
description = "Typescript/Javascript LSP server to use"; description = "Typescript/Javascript LSP server to use";
type = with types; enum (attrNames servers); type = with types; enum (attrNames servers);
default = defaultServer; default = defaultServer;
}; };
package = mkOption { package = mkOption {
description = "Typescript/Javascript LSP server package"; description = "Typescript/Javascript LSP server package";
type = types.package; type = types.package;
@ -86,16 +80,14 @@ in {
}; };
format = { format = {
enable = mkOption { enable = mkEnableOption "Enable Typescript/Javascript formatting" // {default = config.vim.languages.enableFormat;};
description = "Enable Typescript/Javascript formatting";
type = types.bool;
default = config.vim.languages.enableFormat;
};
type = mkOption { type = mkOption {
description = "Typescript/Javascript formatter to use"; description = "Typescript/Javascript formatter to use";
type = with types; enum (attrNames formats); type = with types; enum (attrNames formats);
default = defaultFormat; default = defaultFormat;
}; };
package = mkOption { package = mkOption {
description = "Typescript/Javascript formatter package"; description = "Typescript/Javascript formatter package";
type = types.package; type = types.package;
@ -104,11 +96,8 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkOption { enable = mkEnableOption "Enable extra Typescript/Javascript diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;};
description = "Enable extra Typescript/Javascript diagnostics";
type = types.bool;
default = config.vim.languages.enableExtraDiagnostics;
};
types = lib.nvim.types.diagnostics { types = lib.nvim.types.diagnostics {
langDesc = "Typescript/Javascript"; langDesc = "Typescript/Javascript";
inherit diagnostics; inherit diagnostics;

View file

@ -12,24 +12,19 @@ in {
enable = mkEnableOption "SQL language support"; enable = mkEnableOption "SQL language support";
treesitter = { treesitter = {
enable = mkOption { enable = mkEnableOption "Enable Zig treesitter" // {default = config.vim.languages.enableTreesitter;};
description = "Enable Zig treesitter";
type = types.bool;
default = config.vim.languages.enableTreesitter;
};
package = nvim.types.mkGrammarOption pkgs "zig"; package = nvim.types.mkGrammarOption pkgs "zig";
}; };
lsp = { lsp = {
enable = mkOption { enable = mkEnableOption "Zig LSP support (zls)" // {default = config.vim.languages.enableLSP;};
description = "Zig LSP support (zls)";
type = types.bool;
default = config.vim.languages.enableLSP;
};
package = mkOption { package = mkOption {
description = "ZLS package"; description = "ZLS package";
type = types.package; type = types.package;
default = pkgs.zls; default = pkgs.zls;
}; };
zigPackage = mkOption { zigPackage = mkOption {
description = "Zig package used by ZLS"; description = "Zig package used by ZLS";
type = types.package; type = types.package;

View file

@ -1,7 +1,7 @@
{lib, ...}: {lib, ...}:
with lib; { with lib; {
options.vim.minimap.codewindow = { options.vim.minimap.codewindow = {
enable = mkEnableOption "Enable codewindow plugin for minimap view"; enable = mkEnableOption "codewindow plugin for minimap view";
mappings = { mappings = {
open = mkMappingOption "Open minimap [codewindow]" "<leader>mo"; open = mkMappingOption "Open minimap [codewindow]" "<leader>mo";

View file

@ -6,6 +6,6 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.minimap.minimap-vim = { options.vim.minimap.minimap-vim = {
enable = mkEnableOption "Enable minimap-vim plugin for minimap view"; enable = mkEnableOption "minimap-vim plugin for minimap view";
}; };
} }

View file

@ -6,6 +6,6 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.notes.mind-nvim = { options.vim.notes.mind-nvim = {
enable = mkEnableOption "The power of trees at your fingertips. "; enable = mkEnableOption "organizer tool for Neovim.";
}; };
} }

View file

@ -7,7 +7,7 @@ with lib;
with builtins; { with builtins; {
options.vim.notes = { options.vim.notes = {
obsidian = { obsidian = {
enable = mkEnableOption "Complementary neovim plugins for Obsidian editor"; enable = mkEnableOption "complementary neovim plugins for Obsidian editor";
dir = mkOption { dir = mkOption {
type = types.str; type = types.str;
default = "~/my-vault"; default = "~/my-vault";

View file

@ -6,15 +6,15 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.notes.orgmode = { options.vim.notes.orgmode = {
enable = mkEnableOption "Enable nvim-orgmode: Neovim plugin for Emac Orgmode. Get the best of both worlds"; enable = mkEnableOption "nvim-orgmode: Neovim plugin for Emac Orgmode. Get the best of both worlds";
orgAgendaFiles = mkOption { orgAgendaFiles = mkOption {
type = types.str; type = types.str;
default = "{'~/Dropbox/org/*', '~/my-orgs/**/*'}"; default = "{'~/Documents/org/*', '~/my-orgs/**/*'}";
description = "List of org files to be used as agenda files."; description = "List of org files to be used as agenda files.";
}; };
orgDefaultNotesFile = mkOption { orgDefaultNotesFile = mkOption {
type = types.str; type = types.str;
default = "~/Dropbox/org/refile.org"; default = "~/Documents/org/refile.org";
description = "Default org file to be used for notes."; description = "Default org file to be used for notes.";
}; };
}; };

View file

@ -2,7 +2,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.notes.todo-comments = { options.vim.notes.todo-comments = {
enable = mkEnableOption "Enable todo-comments"; enable = mkEnableOption "todo-comments: highlight and search for todo comments like TODO, HACK, BUG in your code base";
patterns = { patterns = {
highlight = mkOption { highlight = mkOption {

View file

@ -4,59 +4,49 @@
... ...
}: }:
with lib; with lib;
with builtins; { with builtins; let
options.vim.projects.project-nvim = { cfg = config.vim.projects.project-nvim;
enable = mkEnableOption "Enable project-nvim for project management"; in {
config = mkIf cfg.enable {
vim.startPlugins = [
"project-nvim"
];
manualMode = mkOption { vim.luaConfigRC.project-nvim = nvim.dag.entryAnywhere ''
type = types.bool; require('project_nvim').setup({
default = true; manual_mode = ${boolToString cfg.manualMode},
description = "don't automatically change the root directory so the user has the option to manually do so using `:ProjectRoot` command"; detection_methods = { ${concatStringsSep ", " (map (x: "\"" + x + "\"") cfg.detectionMethods)} },
};
# detection methods should accept one or more strings from a list -- All the patterns used to detect root dir, when **"pattern"** is in
detectionMethods = mkOption { -- detection_methods
type = types.listOf types.str; patterns = { ${concatStringsSep ", " (map (x: "\"" + x + "\"") cfg.patterns)} },
default = ["lsp" "pattern"];
description = "Detection methods to use";
};
# patterns -- Table of lsp clients to ignore by name
patterns = mkOption { -- eg: { "efm", ... }
type = types.listOf types.str; ignore_lsp = { ${concatStringsSep ", " (map (x: "\"" + x + "\"") cfg.lspIgnored)} },
default = [".git" "_darcs" ".hg" ".bzr" ".svn" "Makefile" "package.json" "flake.nix" "cargo.toml"];
description = "Patterns to use for pattern detection method";
};
# table of lsp servers to ignore by name -- Don't calculate root dir on specific directories
lspIgnored = mkOption { -- Ex: { "~/.cargo/*", ... }
type = types.listOf types.str; exclude_dirs = { ${concatStringsSep ", " (map (x: "\"" + x + "\"") cfg.excludeDirs)} },
default = [];
description = "LSP servers no ignore by name";
};
excludeDirs = mkOption { -- Show hidden files in telescope
type = types.listOf types.str; show_hidden = ${boolToString cfg.showHidden},
default = [];
description = "Directories to exclude from project root search";
};
showHidden = mkOption { -- When set to false, you will get a message when project.nvim changes your
type = types.bool; -- directory.
default = false; silent_chdir = ${boolToString cfg.silentChdir},
description = "Show hidden files in telescope picker";
};
silentChdir = mkOption { -- What scope to change the directory, valid options are
type = types.bool; -- * global (default)
default = true; -- * tab
description = "Silently change directory when changing project"; -- * win
}; scope_chdir = '${toString cfg.scopeChdir}',
scopeChdir = mkOption { -- Path where project.nvim will store the project history for use in
type = types.enum ["global" "tab" "win"]; -- telescope
default = "global"; datapath = vim.fn.stdpath("data"),
description = "What scope to change the directory"; })
}; '';
}; };
} }

View file

@ -4,48 +4,60 @@
... ...
}: }:
with lib; with lib;
with builtins; let with builtins; {
cfg = config.vim.projects.project-nvim; options.vim.projects.project-nvim = {
in { enable = mkEnableOption "Enable project-nvim for project management";
config = mkIf cfg.enable {
vim.startPlugins = [
"project-nvim"
];
vim.luaConfigRC.project-nvim = nvim.dag.entryAnywhere '' manualMode = mkOption {
require('project_nvim').setup({ type = types.bool;
manual_mode = ${boolToString cfg.manualMode}, default = true;
detection_methods = { ${concatStringsSep ", " (map (x: "\"" + x + "\"") cfg.detectionMethods)} }, description = "don't automatically change the root directory so the user has the option to manually do so using `:ProjectRoot` command";
};
-- All the patterns used to detect root dir, when **"pattern"** is in # detection methods should accept one or more strings from a list
-- detection_methods detectionMethods = mkOption {
patterns = { ${concatStringsSep ", " (map (x: "\"" + x + "\"") cfg.patterns)} }, type = types.listOf types.str;
default = ["lsp" "pattern"];
description = "Detection methods to use";
};
-- Table of lsp clients to ignore by name # patterns
-- eg: { "efm", ... } patterns = mkOption {
ignore_lsp = { ${concatStringsSep ", " (map (x: "\"" + x + "\"") cfg.lspIgnored)} }, type = types.listOf types.str;
default = [".git" "_darcs" ".hg" ".bzr" ".svn" "Makefile" "package.json" "flake.nix" "cargo.toml"];
description = "Patterns to use for pattern detection method";
};
-- Don't calculate root dir on specific directories # table of lsp servers to ignore by name
-- Ex: { "~/.cargo/*", ... } lspIgnored = mkOption {
exclude_dirs = { ${concatStringsSep ", " (map (x: "\"" + x + "\"") cfg.excludeDirs)} }, type = types.listOf types.str;
default = [];
description = "LSP servers no ignore by name";
};
-- Show hidden files in telescope excludeDirs = mkOption {
show_hidden = ${boolToString cfg.showHidden}, type = types.listOf types.str;
default = [];
description = "Directories to exclude from project root search";
};
-- When set to false, you will get a message when project.nvim changes your showHidden = mkOption {
-- directory. type = types.bool;
silent_chdir = ${boolToString cfg.silentChdir}, default = false;
description = "Show hidden files in telescope picker";
};
-- What scope to change the directory, valid options are silentChdir = mkOption {
-- * global (default) type = types.bool;
-- * tab default = true;
-- * win description = "Silently change directory when changing project";
scope_chdir = '${toString cfg.scopeChdir}', };
-- Path where project.nvim will store the project history for use in scopeChdir = mkOption {
-- telescope type = types.enum ["global" "tab" "win"];
datapath = vim.fn.stdpath("data"), default = "global";
}) description = "What scope to change the directory";
''; };
}; };
} }

View file

@ -6,7 +6,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.presence.presence-nvim = { options.vim.presence.presence-nvim = {
enable = mkEnableOption "Enable presence.nvim plugin for discord rich presence"; enable = mkEnableOption "presence.nvim plugin for discord rich presence";
image_text = mkOption { image_text = mkOption {
type = types.str; type = types.str;

View file

@ -6,7 +6,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.session.nvim-session-manager = { options.vim.session.nvim-session-manager = {
enable = mkEnableOption "Enable nvim-session-manager"; enable = mkEnableOption "nvim-session-manager: manage sessions like folders in VSCode";
mappings = { mappings = {
loadSession = mkOption { loadSession = mkOption {

View file

@ -1,11 +1,6 @@
{ {lib, ...}:
config, with lib; {
lib,
...
}:
with lib;
with builtins; {
options.vim.snippets.vsnip = { options.vim.snippets.vsnip = {
enable = mkEnableOption "Enable vim-vsnip"; enable = mkEnableOption "vim-vsnip: snippet LSP/VSCode's format";
}; };
} }

View file

@ -8,14 +8,10 @@ with builtins; let
supported_themes = import ./supported_themes.nix; supported_themes = import ./supported_themes.nix;
in { in {
options.vim.statusline.lualine = { options.vim.statusline.lualine = {
enable = mkEnableOption "lualine"; enable = mkEnableOption "lualine statusline plugin";
icons = { icons = {
enable = mkOption { enable = mkEnableOption "icons for lualine" // {default = true;};
type = types.bool;
description = "Enable icons for lualine";
default = true;
};
}; };
refresh = { refresh = {
@ -125,6 +121,7 @@ in {
"mode", "mode",
separator = { separator = {
left = '', left = '',
right = ''
}, },
}, },
} }
@ -184,7 +181,12 @@ in {
{ {
"diagnostics", "diagnostics",
sources = {'nvim_lsp', 'nvim_diagnostic', 'coc'}, sources = {'nvim_lsp', 'nvim_diagnostic', 'coc'},
symbols = {error = '󰅙 ', warn = ' ', info = ' ', hint = '󰌵 '} symbols = {error = '󰅙 ', warn = ' ', info = ' ', hint = '󰌵 '},
diagnostics_color = {
color_error = { fg = colors.red },
color_warn = { fg = colors.yellow },
color_info = { fg = colors.cyan },
},
}, },
} }
''; '';
@ -224,12 +226,7 @@ in {
{ {
"branch", "branch",
icon = ' ', icon = ' ',
separator = {
left = '(',
right = ')'
},
color = {bg='none', fg='lavender'}, color = {bg='none', fg='lavender'},
}, },
} }
''; '';

View file

@ -2,6 +2,8 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.tabline.nvimBufferline = { options.vim.tabline.nvimBufferline = {
enable = mkEnableOption "nvim-bufferline-lua as a bufferline";
mappings = { mappings = {
closeCurrent = mkMappingOption "Close buffer" null; closeCurrent = mkMappingOption "Close buffer" null;
cycleNext = mkMappingOption "Next buffer" "<leader>bn"; cycleNext = mkMappingOption "Next buffer" "<leader>bn";
@ -13,7 +15,5 @@ with builtins; {
moveNext = mkMappingOption "Move next buffer" "<leader>bmn"; moveNext = mkMappingOption "Move next buffer" "<leader>bmn";
movePrevious = mkMappingOption "Move previous buffer" "<leader>bmp"; movePrevious = mkMappingOption "Move previous buffer" "<leader>bmp";
}; };
enable = mkEnableOption "Enable nvim-bufferline-lua as a bufferline";
}; };
} }

View file

@ -15,23 +15,27 @@ with builtins; {
default = "<c-t>"; default = "<c-t>";
}; };
}; };
direction = mkOption { direction = mkOption {
type = types.enum ["horizontal" "vertical" "tab" "float"]; type = types.enum ["horizontal" "vertical" "tab" "float"];
default = "horizontal"; default = "horizontal";
description = "Direction of the terminal"; description = "Direction of the terminal";
}; };
enable_winbar = mkOption { enable_winbar = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Enable winbar"; description = "Enable winbar";
}; };
lazygit = { lazygit = {
enable = mkEnableOption "Enable LazyGit integration"; enable = mkEnableOption "LazyGit integration";
direction = mkOption { direction = mkOption {
type = types.enum ["horizontal" "vertical" "tab" "float"]; type = types.enum ["horizontal" "vertical" "tab" "float"];
default = "float"; default = "float";
description = "Direction of the lazygit window"; description = "Direction of the lazygit window";
}; };
package = mkOption { package = mkOption {
type = with types; nullOr package; type = with types; nullOr package;
default = pkgs.lazygit; default = pkgs.lazygit;

View file

@ -6,7 +6,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.ui.colorizer = { options.vim.ui.colorizer = {
enable = mkEnableOption "Enable nvim-colorizer.lua for color highlighting"; enable = mkEnableOption "nvim-colorizer.lua for color highlighting";
options = { options = {
rgb = mkOption { rgb = mkOption {

View file

@ -6,6 +6,6 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.ui.modes-nvim = { options.vim.ui.modes-nvim = {
enable = mkEnableOption "Enable modes.nvim UI elements"; enable = mkEnableOption "modes.nvim's prismatic line decorations";
}; };
} }

View file

@ -6,6 +6,6 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.ui.noice = { options.vim.ui.noice = {
enable = mkEnableOption "Enable noice-nvim UI modifications"; enable = mkEnableOption "noice-nvim UI modification library";
}; };
} }

View file

@ -6,29 +6,34 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.notify.nvim-notify = { options.vim.notify.nvim-notify = {
enable = mkEnableOption "Enable nvim-notify plugin"; enable = mkEnableOption "nvim-notify notifications";
stages = mkOption { stages = mkOption {
type = types.enum ["fade_in_slide_out" "fade_in" "slide_out" "none"]; type = types.enum ["fade_in_slide_out" "fade_in" "slide_out" "none"];
default = "fade_in_slide_out"; default = "fade_in_slide_out";
description = "The stages of the notification"; description = "The stages of the notification";
}; };
timeout = mkOption { timeout = mkOption {
type = types.int; type = types.int;
default = 1000; default = 1000;
description = "The timeout of the notification"; description = "The timeout of the notification";
}; };
background_colour = mkOption { background_colour = mkOption {
type = types.str; type = types.str;
default = "#000000"; default = "#000000";
description = "The background colour of the notification"; description = "The background colour of the notification";
}; };
position = mkOption { position = mkOption {
type = types.enum ["top_left" "top_right" "bottom_left" "bottom_right"]; type = types.enum ["top_left" "top_right" "bottom_left" "bottom_right"];
default = "top_right"; default = "top_right";
description = "The position of the notification"; description = "The position of the notification";
}; };
icons = mkOption { icons = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
description = "The icons of the notification";
default = { default = {
ERROR = ""; ERROR = "";
WARN = ""; WARN = "";
@ -36,7 +41,6 @@ with builtins; {
DEBUG = ""; DEBUG = "";
TRACE = ""; TRACE = "";
}; };
description = "The icons of the notification";
}; };
}; };
} }

View file

@ -2,7 +2,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.ui.smartcolumn = { options.vim.ui.smartcolumn = {
enable = mkEnableOption "Enable Smartcolumn line length indicator"; enable = mkEnableOption "line length indicator";
showColumnAt = mkOption { showColumnAt = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;

View file

@ -6,6 +6,6 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.binds.cheatsheet = { options.vim.binds.cheatsheet = {
enable = mkEnableOption "Enable cheatsheet-nvim: searchable cheatsheet for nvim using telescope"; enable = mkEnableOption "cheatsheet-nvim: searchable cheatsheet for nvim using telescope";
}; };
} }

View file

@ -1,11 +1,7 @@
{ {lib, ...}:
config,
lib,
...
}:
with lib; with lib;
with builtins; { with builtins; {
options.vim.binds.whichKey = { options.vim.binds.whichKey = {
enable = mkEnableOption "Enable which-key keybind menu"; enable = mkEnableOption "which-key keybind helper menu";
}; };
} }

View file

@ -2,7 +2,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.utility.ccc = { options.vim.utility.ccc = {
enable = mkEnableOption "Enable ccc color picker for neovim"; enable = mkEnableOption "ccc color picker for neovim";
mappings = { mappings = {
quit = mkMappingOption "Cancel and close the UI without replace or insert" "<Esc>"; quit = mkMappingOption "Cancel and close the UI without replace or insert" "<Esc>";

View file

@ -1,11 +1,7 @@
{ {lib, ...}:
config,
lib,
...
}:
with lib; with lib;
with builtins; { with builtins; {
options.vim.utility.diffview-nvim = { options.vim.utility.diffview-nvim = {
enable = mkEnableOption "Enable diffview-nvim"; enable = mkEnableOption "diffview-nvim: cycle through diffs for all modified files for any git rev";
}; };
} }

View file

@ -1,7 +1,7 @@
{lib, ...}: {lib, ...}:
with lib; { with lib; {
options.vim.gestures.gesture-nvim = { options.vim.gestures.gesture-nvim = {
enable = mkEnableOption "Enable gesture-nvim plugin"; enable = mkEnableOption "gesture-nvim: mouse gestures";
mappings = { mappings = {
draw = mkMappingOption "Start drawing [gesture.nvim]" "<LeftDrag>"; draw = mkMappingOption "Start drawing [gesture.nvim]" "<LeftDrag>";

View file

@ -1,11 +1,7 @@
{ {lib, ...}:
config,
lib,
...
}:
with lib; with lib;
with builtins; { with builtins; {
options.vim.utility.icon-picker = { options.vim.utility.icon-picker = {
enable = mkEnableOption "Enable nerdfonts icon picker for nvim"; enable = mkEnableOption "nerdfonts icon picker for nvim";
}; };
} }

View file

@ -5,6 +5,6 @@ with lib; {
hop = mkMappingOption "Jump to occurences [hop.nvim]" "<leader>h"; hop = mkMappingOption "Jump to occurences [hop.nvim]" "<leader>h";
}; };
enable = mkEnableOption "Enable Hop.nvim plugin (easy motion)"; enable = mkEnableOption "Hop.nvim plugin (easy motion)";
}; };
} }

View file

@ -2,7 +2,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.utility.motion.leap = { options.vim.utility.motion.leap = {
enable = mkEnableOption "Enable leap.nvim plugin (easy motion)"; enable = mkEnableOption "leap.nvim plugin (easy motion)";
mappings = { mappings = {
leapForwardTo = mkOption { leapForwardTo = mkOption {

View file

@ -45,6 +45,11 @@ in {
mkIf config.vim.treesitter.enable mkIf config.vim.treesitter.enable
(mkSetBinding mappings.treesitter "<cmd> Telescope treesitter<CR>") (mkSetBinding mappings.treesitter "<cmd> Telescope treesitter<CR>")
) )
(
mkIf config.vim.projects.project-nvim.enable
(mkSetBinding mappings.findProjects "<cmd Telescope projects<CR>")
)
]; ];
vim.luaConfigRC.telescope = nvim.dag.entryAnywhere '' vim.luaConfigRC.telescope = nvim.dag.entryAnywhere ''

View file

@ -3,6 +3,8 @@ with lib;
with builtins; { with builtins; {
options.vim.telescope = { options.vim.telescope = {
mappings = { mappings = {
findProjects = mkMappingOption "Find files [Telescope]" "<leader>fp";
findFiles = mkMappingOption "Find files [Telescope]" "<leader>ff"; findFiles = mkMappingOption "Find files [Telescope]" "<leader>ff";
liveGrep = mkMappingOption "Live grep [Telescope]" "<leader>fg"; liveGrep = mkMappingOption "Live grep [Telescope]" "<leader>fg";
buffers = mkMappingOption "Buffers [Telescope]" "<leader>fb"; buffers = mkMappingOption "Buffers [Telescope]" "<leader>fb";
@ -26,6 +28,6 @@ with builtins; {
treesitter = mkMappingOption "Treesitter [Telescope]" "<leader>fs"; treesitter = mkMappingOption "Treesitter [Telescope]" "<leader>fs";
}; };
enable = mkEnableOption "Enable multi-purpose telescope utility"; enable = mkEnableOption "telescope.nvim: multi-purpose search & picker utility";
}; };
} }

View file

@ -6,7 +6,7 @@
with lib; with lib;
with builtins; { with builtins; {
options.vim.utility.vim-wakatime = { options.vim.utility.vim-wakatime = {
enable = mkEnableOption "Enable vim-wakatime"; enable = mkEnableOption "vim-wakatime: live code statistics";
cli-package = mkOption { cli-package = mkOption {
type = with types; nullOr package; type = with types; nullOr package;

View file

@ -12,24 +12,12 @@ in {
nvimWebDevicons.enable = mkEnableOption "dev icons. Required for certain plugins [nvim-web-devicons]."; nvimWebDevicons.enable = mkEnableOption "dev icons. Required for certain plugins [nvim-web-devicons].";
scrollBar.enable = mkOption { scrollBar.enable = mkEnableOption "Enable scrollbar [scrollbar.nvim]";
type = types.bool;
description = "Enable scrollbar [scrollbar.nvim]";
default = false;
};
smoothScroll.enable = mkOption { smoothScroll.enable = mkEnableOption "Enable smooth scrolling [cinnamon-nvim]";
type = types.bool;
description = "Enable smooth scrolling [cinnamon-nvim]";
default = false;
};
cellularAutomaton = { cellularAutomaton = {
enable = mkOption { enable = mkEnableOption "Enable cellular automaton [cellular-automaton]";
type = types.bool;
description = "Enable cellular automaton [cellular-automaton]";
default = false;
};
mappings = { mappings = {
makeItRain = mkMappingOption "Make it rain [cellular-automaton]" "<leader>fml"; makeItRain = mkMappingOption "Make it rain [cellular-automaton]" "<leader>fml";
@ -37,11 +25,8 @@ in {
}; };
fidget-nvim = { fidget-nvim = {
enable = mkOption { enable = mkEnableOption "Enable nvim LSP UI element [fidget-nvim]";
type = types.bool;
description = "Enable nvim LSP UI element [fidget-nvim]";
default = false;
};
align = { align = {
bottom = mkOption { bottom = mkOption {
type = types.bool; type = types.bool;
@ -68,11 +53,7 @@ in {
}; };
indentBlankline = { indentBlankline = {
enable = mkOption { enable = mkEnableOption "Enable indentation guides [indent-blankline]";
type = types.bool;
description = "Enable indentation guides [indent-blankline]";
default = false;
};
listChar = mkOption { listChar = mkOption {
type = types.str; type = types.str;