mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 19:12:38 +00:00 
			
		
		
		
	docs: fix mkEnableOption usage for autogenerated documentation
This commit is contained in:
		
					parent
					
						
							
								5cef662ccf
							
						
					
				
			
			
				commit
				
					
						a2b58e17af
					
				
			
		
					 55 changed files with 225 additions and 333 deletions
				
			
		|  | @ -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 { | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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"]; | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|  |  | ||||||
|  | @ -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>"; | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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 = []; | ||||||
|  |  | ||||||
|  | @ -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 { | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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); | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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); | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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''; | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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."; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|  |  | ||||||
|  | @ -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."; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|  | @ -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 { | ||||||
|  |  | ||||||
|  | @ -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"; |       }) | ||||||
|     }; |     ''; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|     ''; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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 { | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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'}, | ||||||
| 
 |  | ||||||
|             }, |             }, | ||||||
|           } |           } | ||||||
|         ''; |         ''; | ||||||
|  |  | ||||||
|  | @ -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"; |  | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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 { | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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"; |  | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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>"; | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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>"; | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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)"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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 { | ||||||
|  |  | ||||||
|  | @ -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 '' | ||||||
|  |  | ||||||
|  | @ -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"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 NotAShelf
				NotAShelf